Реализация INPC для статических свойств

76
08 марта 2021, 13:10

Есть класс, содержащий статические переменные, например

public class Configs {
    public static string MyBestString { get;set; }
    public static MyClass MyConfigs { get;set; }
}

Реализуем для него INPC:

public class Configs : INotifyPropertyChanged {
    private static string _MyBestString { get;set; }
    public static string MyBestString { 
        get => _MyBestString;
        set => {
            _MyConfigs = value;
            RaisePropertyChanged("MyBestString");
        }
    }
    private static MyClass _MyConfigs { get;set; }
    public static MyClass MyConfigs { 
        get => _MyConfigs;
        set => {
            _MyConfigs = value;
            RaisePropertyChanged("MyConfigs");
        }
    }
    public event PropertyChangedEventHandler PropertyChanged;
    protected virtual void RaisePropertyChanged(string propName) {
        var e = PropertyChanged;
        e?.Invoke(this, new PropertyChangedEventArgs(propName));
    }
}

Однако тут мы сталкиваемся с проблемой, а именно RaisePropertyChanged не статический. Поискав, я нашел решение, применил его, но, забегая вперед, оно не работает. Теперь в VM для окна вставляем public string MyBestStringForWindow => Configs.MyBestString;. И в самом окне привязываемся к этому свойству. Однако его изменение не обновляет привязанный элемент.

Что я делаю не так?

P.S. Привязки напрямую к статическому свойству класса Config в данном случае лучше избегать, ибо, скорее всего в get'тере MyBestStringForWindow будет происходить обработка элемента.

READ ALSO
Как получить из тегов xml-файла значения?

Как получить из тегов xml-файла значения?

Задача — получить из xml-файла все данные из тега offer

93
ошибки Read only asset Packages

ошибки Read only asset Packages

вылезли ошибки, пробовал пере-импортировать пакеты все сразу и по отдельностиУдалось исправить с 76 до 34 ошибок

101
Perl добавить чекбоксы в БД

Perl добавить чекбоксы в БД

Есть форма с множеством инпутов

96
общие друзья php + mysql

общие друзья php + mysql

подскажите как вывести общих друзей пользователя user и моих twoUser

111