【发布时间】:2016-03-20 20:00:39
【问题描述】:
我在 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 sn-p:
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 上的Dependency Properties Overview 文章了解所有详细信息,尤其是与普通属性的差异。
标签: c# wpf dependency-properties