1

INotifyPropertyChanged를 구현하는 비즈니스 개체의 int 속성에 바인딩 된 NumericUpDown 컨트롤이 있습니다. NumericUpDown 컨트롤의 데이터 소스 업데이트 모드가 OnPropertyChanged로 설정되고 컨트롤의 ReadOnly 속성이 false로 설정됩니다. 한 가지 예외는 있지만 예상대로 작동합니다. NumericUpDown 컨트롤의 텍스트 상자 부분에 값을 입력하면 컨트롤이 바인딩 된 속성의 값이 컨트롤에서 포커스를 잃을 때까지 업데이트되지 않습니다.NumericUpDown 컨트롤을 INotifyPropertyChanged를 구현하는 개체에 바인딩

폼에 여러 개의 단추가있는 ToolStrip이 있습니다. 이 버튼을 클릭해도 NumericUpDown 컨트롤의 포커스가 사라지지 않으므로 이러한 버튼 클릭 중 하나를 통해 비즈니스 객체를 처리하기 전에 toolStrip.Focus()를 호출하여 NumericUpDown의 텍스트 부분에있는 값 제어가 비즈니스 오브젝트로 다시 푸시되었습니다. 이것은 나를 위해 작동하는 것하지만이 시나리오에서 NumericUpDown 컨트롤의 예상되는 동작 및 만약 그렇다면 다른 사람들이이 상황에서 어떻게 작동하는지 알고 싶습니다. 귀하의 의견에 감사드립니다!

답변

4

나는 그것을 컨트롤이 포커스를 잃은 때까지 값을 작성하지 않은 경우가 일

numericUpDown.DataBindings["Value"].WriteValue(); 

WriteValue 기능을 사용하여 비슷한 문제를 했어.

+0

의견에 감사드립니다. 내가 말할 수있는 한 최선의 방법은 컨트롤의 표준 동작 일 뿐이지 만 왜 그런 식으로 구현되었는지 이해할 수는 없습니다. – user685869

2

numericUpDown.DataBindings [ "Value"]. ControlUpdateMode = ControlUpdateMode.OnPropertyChanged;

+0

https://www.youtube.com/watch?v=ZE4qcflgtgU – Bluebaron

관련 문제