目前,我使用以下方法在我在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));
}
}
}
但是,我已经看到要实现依赖属性,我需要做一些事情,比如注册它和设置回调等,这反过来最终会调用上面的代码。
那么当我可以使用上述方法时,为依赖属性设置所有额外的锅炉板材的重点是什么?
感谢。
答案 0 :(得分:3)
依赖项属性可以是绑定的目标,而常规CLR属性则不能。这就是控件(绑定目标)的属性通常是依赖属性的原因,而模型或ViewModel类(绑定源)的属性则不是。
答案 1 :(得分:1)
你正在做的是正确的(假设我理解正确)依赖属性不适用于你在模型中绑定到的东西,它们是模型将绑定到的控件中的属性 - 例如,Text属性in一个文本框。
在自定义控件中使用它们有很多原因,其中最重要的是它们附带的自动管道,以便它们能够正确绑定到示例中声明的属性。