티스토리 뷰
WPF Binding과 INotifyPropertyChanged 노트
xaml에서 x:Name, DataContext, Content등의 속성을 이용해 바인딩을 할 때 사용하는 인터페이스이다.
Content에 바인딩할때 추가하는 Path 문자열은 DataContext에 설정된 객체의 Property이름과 일치해야 한다.
이 때 DataContext 객체는 INotifyPropertyChanged 인터페이스를 구현해야 하며,
해당 인터페이스는 System.ComponentModel 네임스페이스에 정의되어있다.
이 인터페이스는 PropertyChanged 이벤트를 구현하도록 하는 인터페이스이고 바인딩한 Path에 해당되는 Property의 set 메서드에서
PropertyChanged이벤트를 발생시키면 Property와 WPF Element의 양방향 바인딩을 만들 수 있다.
PropertyChanged이벤트는 이벤트이므로 첫 매개변수는 sender이고 두 번째 매개변수는 PropertyChangedEventArgs 객체이다.
PropertyChangedEventArgs는 마찬가지로 System.ComponentModel 네임스페이스에 정의되어 있으며 이름에서 알 수 있듯이
System.EventArgs를 상속받은 클래스이다. 따라서 딱히 특별할 것이 없는 이벤트이다.
DataContext는 바인딩하는 요소의 상위 요소에 적용해도 상속된다.
DataContext 속성을 자기 자신에게 지정할 경우 RelativeSource 구문에 Self를 사용하면 좋다.
바인딩을 통해 DataContext의 Property가 변경되면 바인딩된 요소의 해당 속성이 변경되고 반대로 요소의 해당 속성이 변경되어도 DataContext의 Property가 변경된다.
메모리상의 값과 UI를 간단하게 결합할 수 있다는 점에서 의미가 있는 기술이다.
'C#, .Net, PowerShell' 카테고리의 다른 글
Windows.Forms.OpenFileDialog와 WPF의 OpenFileDialog (0) | 2017.04.08 |
---|
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- XBOX
- 유니콘
- GNU
- xbox remote play
- pgp
- Game
- psremoteplay
- Signature
- Encryption
- xCloud
- Privacy
- GPG
- cloudgaming
- GnuPG
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함