c# (WPF) Data Binding 에 대해서
2019, Jun 05
데이터 바인딩 구조
- 바인딩 대상 : UI 요소
- 바인딩 소스 : 데이터
- 바인딩 개체 : 대상과 소스를 연결
바인딩 개체가 제공하는 바인딩 방식
- OneWay : 소스에서 대상으로만 데이터가 전달. ex) TextBox 의 Text 속성(바인딩 대상)에 바인딩 된 string 객체(바인딩 소스).
- TwoWay : 소스, 대상 양방향 데이터 전달.
- OneWayToSource : OneWay 반대 방향
- OneTime : 한번만 소스가 대상을 초기화. 이후 변경 안됌.
UpdateSourceTrigger
- TwoWay 방식에서 대상에서 소스로 전달되는 과정
- LostFocus : UI 요소가 포커스를 잃었을 때 바인딩 소스를 업데이트 한다.
- PropertyChanged : UI 요소의 바인딩 된 속성 값이 변경될 때 소스를 업데이트 한다.
- Explicit : 애플리케이션에서 명시적으로 UpdateSource 호출 할 때 업데이트 한다.
INotifyPropertyChanged 인터페이스 구현
- 소스의 변화를 대상에 전파하기 위해
- PropertyChangedEventHandler 이벤트 객체를 통해 프로퍼티 값이 변경되었다는 것을 UI 요소에 알림.