我在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