У меня есть две реализации свойств зависимостей в 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));
}
В чем разница между ними? Что я должен использовать?
Первый не является свойством зависимостей. Прочтите [Обзор свойств зависимостей] (https://msdn.microsoft.com/en-us/library/ms752914 (v = vs.100) .aspx) статью о MSDN для всех деталей, особенно для отличий от обычных свойств , – Clemens