我在WPF中有两个依赖项属性的实现。 首先,我在互联网上找到:WPF中依赖项属性之间的区别
public class TestClass : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
private string _test;
public string Test
{
get
{
return _test;
}
set
{
_test = value;
OnPropertyChanged(nameof(Test))
}
}
}
其次,从propdp片段:
public class TestClass
{
public string Test
{
get { return (string)GetValue(TestProperty); }
set { SetValue(TestProperty, value); }
}
public static readonly DependencyProperty TestProperty =
DependencyProperty.Register("Test",
typeof(string),
typeof(TestClass),
new PropertyMetadata(string.Empty));
}
它们之间有什么区别?我应该使用什么?
第一个不是依赖属性。请阅读MSDN上的[依赖属性概述](https://msdn.microsoft.com/zh-cn/library/ms752914(v = vs.100).aspx)文章中的所有详细信息,特别是与普通属性的区别。 – Clemens