WPF-什么';没有回调的依赖属性的兴趣是什么

WPF-什么';没有回调的依赖属性的兴趣是什么,wpf,dependency-properties,Wpf,Dependency Properties,我不理解没有定义回调的依赖性属性的意义。回调只是一种额外的便利——依赖性属性集成到框架运行时中,并具有一个内置的回调机制来更新任何绑定。也就是说,如果将依赖项属性设置为源的绑定,则当依赖项属性更改时,目标将自动更新 例如,假设您有一个定义了DP的自定义控件: public string SomeDP { get { return (string)GetValue(SomeDPProperty); } set { SetValue(SomeDPProperty, value); }

我不理解没有定义回调的依赖性属性的意义。

回调只是一种额外的便利——依赖性属性集成到框架运行时中,并具有一个内置的回调机制来更新任何绑定。也就是说,如果将依赖项属性设置为源的绑定,则当依赖项属性更改时,目标将自动更新

例如,假设您有一个定义了DP的自定义控件:

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));
如果将DP设置为TextBlock“Text”属性的源绑定:

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


然后,每当“someFrameworkElement”的“SomeDP”属性更改时,文本也会更改。

DPs与XAML框架集成。如果XAML元素绑定到DP,则在属性更改时会收到通知。