当PropertyChangedEventHandler完成工作时,设置依赖项属性有什么意义?

时间:2009-09-07 11:05:34

标签: wpf xaml dependency-properties

目前,我使用以下方法在我在xaml中绑定的任何属性上设置更改通知:

    class MyClass : INotifyPropertyChanged
{
    string name;

    public string Name
    {
        get { return name; }
        set
        {
            name = value;
            NotifyPropertyChanged("Name");
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;

    public void NotifyPropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }
}

但是,我已经看到要实现依赖属性,我需要做一些事情,比如注册它和设置回调等,这反过来最终会调用上面的代码。

那么当我可以使用上述方法时,为依赖属性设置所有额外的锅炉板材的重点是什么?

感谢。

2 个答案:

答案 0 :(得分:3)

依赖项属性可以是绑定的目标,而常规CLR属性则不能。这就是控件(绑定目标)的属性通常是依赖属性的原因,而模型或ViewModel类(绑定源)的属性则不是。

答案 1 :(得分:1)

你正在做的是正确的(假设我理解正确)依赖属性不适用于你在模型中绑定到的东西,它们是模型将绑定到的控件中的属性 - 例如,Text属性in一个文本框。

在自定义控件中使用它们有很多原因,其中最重要的是它们附带的自动管道,以便它们能够正确绑定到示例中声明的属性。