Я пытаюсь создать статическое свойство, в котором INotifyPropertyChanged будет обновлять любые изменения, внесенные в DataGrid ComboBox, к которому я привязываюсь.
Я получаю эту ошибку:
Ошибка CS0026 Ключевое слово «this» недопустимо в статическом свойстве, статическом
методе, или статическое поле
Во время поиска я наткнулся на это. Почему вы не можете использовать ключевое слово «this» в статическом методе в .Net?, но даже после всего, что я все еще не могу понять, как заставить это работать.
Но все, что я меняю, только отрицает то, что я пытаюсь создать статическое свойство с помощью INotifyPropertyChanged?
Мой код:
private static List _nursingHomeSectionListProperty;
public static List NursingHomeSectionListProperty
{
get { return _nursingHomeSectionListProperty; }
set
{
_nursingHomeSectionListProperty = value;
NotifyStaticPropertyChanged();
}
}
И обработчик изменения свойства
public static event PropertyChangedEventHandler StaticPropertyChanged;
public static void NotifyStaticPropertyChanged([CallerMemberName] string propertyName = null)
{
StaticPropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
В приведенном ниже коде показано, как я использую обработчик изменения свойства для нестатических свойств,
public event PropertyChangedEventHandler PropertyChanged;
public void NotifyPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
Подробнее здесь: https://stackoverflow.com/questions/415 ... rtychanged