Есть класс, содержащий статические переменные, например
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
будет происходить обработка элемента.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Задача — получить из xml-файла все данные из тега offer
вылезли ошибки, пробовал пере-импортировать пакеты все сразу и по отдельностиУдалось исправить с 76 до 34 ошибок