2015-01-06 2 views
0

콜백이 정의되지 않은 종속성 속성에 대한 이해가 없습니다.WPF - 콜백이없는 종속성 속성의 이점

+0

[종속성 속성 개요] (http://msdn.microsoft.com/en-us/library/ms752914%28v=vs.110%29.aspx) – Bolu

+0

DP는 XAML 프레임 워크와 통합되어 있습니다. XAML 요소가 DP에 바인딩되면 속성 변경시 알림을받습니다. – McGarnagle

답변

0

콜백은 추가 된 편리한 기능입니다. 종속성 속성은 프레임 워크 런타임에 통합되어 있으며 모든 바인딩을 업데이트하는 기본 제공 콜백 메커니즘이 있습니다. 즉, 종속성 속성이있는 바인딩을 소스로 설정하면 종속성 속성이 변경되면 대상이 자동으로 업데이트됩니다.

public string SomeDP 
{ 
    get { return (string)GetValue(SomeDPProperty); } 
    set { SetValue(SomeDPProperty, value); } 
} 
public static readonly DependencyProperty SomeDPProperty = 
    DependencyProperty.Register("SomeDP", typeof(string), typeof(SomeFrameworkElement), new PropertyMetadata(null)); 

그리고 당신이 설정 한 경우 TextBlock의의 "텍스트"속성에 대한 소스로 DP 바인딩 :

예를 들어

,의 당신이 정의 된 DP와 사용자 지정 컨트롤을 가정 해 봅시다

<local:SomeFrameworkElement x:Name="someFrameworkElement" SomeDP="initial" /> 
<TextBlock Text="{Binding ElementName=someFrameworkElement,Path=SomeDP}" /> 

"someFrameworkElement"의 "SomeDP"속성이 변경 될 때마다 텍스트도 변경됩니다.