>

방법

ControlBindingsCollection.Add Method (String, Object, String, Boolean, DataSourceUpdateMode, Object)

두 번째 매개 변수는 dataSource 입니다. object 유형의 .

내 테스트에서이 dataSource  인터페이스 INotifyPropertyChanged 를 구현해야합니다 바인딩 없이는 작동하지 않습니다.

내 질문은 왜 그 방법으로 Object 를 취하는 것입니까?   dataSource 를 위해 INotifyPropertyChanged 대신 ? INotifyPropertyChanged 를 상속하지 않고 바인딩을 수행 할 수있는 다른 방법이 있습니까? ?

인터넷을 검색했지만 관련 정보를 찾을 수 없습니다.


  • 답변 # 1

    INotifyPropertyChanged  양방향 데이터 바인딩에 필요합니다. 단방향 데이터 바인딩을 사용하는 경우 오브젝트는 INotifyPropertyChanged 를 구현할 필요가 없습니다. :

    단방향 데이터 바인딩 : 제어 변경 사항이 데이터 소스로 푸시됩니다.

    양방향 데이터 바인딩 : 단방향 외에도 데이터 소스 변경이 제어로 푸시됩니다

    양방향 데이터 바인딩 작동 방식은 다음과 같습니다.

    와이즈 비즈  객체, Binding 구독   ValueChanged 의 이벤트  바인딩 된 속성 와이즈 비즈  컨테이너 객체가 PropertyDescriptor 인지 확인 그런 다음 PropertyDescriptor 를 구독합니다.   INotifyPropertyChanged 를 제기  행사. 이런 식으로 PropertyChanged 를 구현   ValueChanged 에 통지합니다  데이터 소스 속성 값의 변경에 관한 개체 그러면 바인딩이 데이터를 가져 와서 바인딩 된 컨트롤 속성을 업데이트합니다.

    INotifyPropertyChanged

  • 이전 python - python3 open"x"모드는 무엇을합니까?
  • 다음 security - maven에서 settingxml paswords 파일을 보호하고 암호화하는 방법은 무엇입니까?