В программе есть кнопка по нажатию которой пользователь может сбросить значения всех настроек к значению по умолчанию. Настройки хранятся в объекте SettingsVM
.
Настроек достаточно много и чтобы не обнулять каждое свойство по отдельности я просто создаю новый объект.
public class MainVM : BaseVM
{
public SearchVM SearchVM { get; set; }
public static SettingsVM SettingsVM { get; set; }
public MainVM()
{
SearchVM = new SearchVM();
SettingsVM = new SettingsVM();
ResetSettingsCommand = new RelayCommand(ResetSettings);
}
public ICommand ResetSettingsCommand { get; }
private void ResetSettings()
{
SettingsVM = new SettingsVM();
OnPropertyChanged(String.Empty);
}
}
Проблема в том, что после отрабатывания метода ResetSettings
интерфейс не меняется, а остается привязан к "старому" объекту.
Как исправить такое поведение?
Ваше свойство SettingsVM
, содержащее настройки, статическое. Для него интерфейс INotifyPropertyChanged
не работает. Сделайте свойство нестатическим.
Вам понадобится изменить и код привязки в XAML, для нестатических свойств он другой (проще).
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Подскажите как нарисовать точную кнопку взял из сайта: Ссылка на кнопку
В чем разница между XPathNavigator и XmlDocument?
Работаю с Google-картой, используя XamarinМне нужно, чтобы метку (маркер), которую я поставил в своем приложении, увидели все устройства