Мой проект форм xamarin имеет структуру страницы с вкладками. На этой странице с вкладками у меня есть несколько записей, чтобы изменить состояние объекта.
Допустим, у меня есть автомобильный объект, и этот автомобильный объект должен обновляться с нескольких экранов с вкладками. И скажем, у меня есть 1 страница, где я меняю цвет машины. Основываясь на этом изменении, я хочу показать цвет текста на другой странице. На обеих страницах есть собственная модель просмотра.
Используя шаблон MVVM, как мне добиться:
- Запоминание объекта через несколько экранов с вкладками
- Изменение свойства должно вызывать события поэтому несколько экранов могут обновлять свои значения
На данный момент я реализовал одноэлементную службу, которая имеет объект car. В моделях представления я ссылаюсь на цвет peoprty от объекта в сервисе. Когда метод SET вызывается из модели представления на основе связывания форм xamarin, вызывается метод OnPropertyChanged. Но это не работает, работает только привязка в том же представлении, но другие представления не обновляются.
Этот код используется в нескольких моделях представления (для связывания с представлением)
public string Color
{
get => _activityStateService.Car.Color;
set
{
_activityStateService.Car.Color = value;
OnPropertyChanged(nameof(Color));
}
}
Код, на который ссылаются несколько моделей:
public class ActivityStateService : IActivityStateService
{
public Car car { get; set; }
}