똑똑한 개발/C#
[WPF] Dependency Property Metadata
성댕쓰
2022. 4. 19. 14:20
Dependency Property Metadata 언제 씀?
Dependency property 특징을 정의할 때 사용함.
Metadata type
- dependency property의 default value.
- 어떤 행동을 강제하거나 알람 행동을 바꾸는 callback reference
- wpf framework level에서 사용하는 특징(Framework Property Metadata)
Metadata를 재정의하여 이미 있는 property의 동작을 바꿀 수 있다.
그러나 validation callback은 metadata 영역이 아닌 property identifier역할이다.
따라서 metadata를 재정의 하여 validation callback을 바꿀 수 없다.
Overriding Metadata
보통의 경우 기존에 있는 dependency property의 metadata를 override하여 사용한다.(Register를 사용하여 새로 만드는 것과 다르게.)
override하는 metadata 특성에 따라 다른 metadata 와 합치거나 교체한다.
- propertyChangedCallback은 merge 된다.
hierarchy의 모든 metadata를 가져와서 가장 derived한 class의 callback부터 콜한다. - Default value는 교체된다.
- CoerceValueCallback은 교체된다.
참조 : Dependency Property Metadata - WPF .NET Framework | Microsoft Docs