Есть ли способ реализовать совместно используемый компонент TitleView в AppShell Xamarin.Forms? Я попробовал несколько подходов, но это не работает так, как я задумал.
Я пытаюсь добиться чего-то вроде следующего:
- Оболочка приложения с несколькими вкладкамии обычная оболочка TitleView
- TitleView - это просто ContentView (назовем его Exposure) с меткой для отображения результата расчета и кнопкой обновления для извлечения данных и пересчета
- Изменение вкладкине должно влиять на состояние TitleView
Что я пробовал:
- Инициализировать один экземпляр компонента Exposure (View и ViewModel) и настроить его наИнфраструктура DI для использования только этого экземпляра (singleton).
- Когда инициализируются страницы, я получаю единственный экземпляр компонента Exposure и назначаю его свойству Shell.TitleView.
Делая это, я надеялся, что состояние «Экспозиция» будет одинаковым на всех вкладках (в конце концов, один экземпляр ...), но в результате я нажимаю кнопку «Обновить». обновляет только расчет на текущей вкладке Компонент «Экспозиция», меняющаяся вкладка предоставит мне компонент «Экспозиция» со старым состоянием. Я удивлен, что это не поддерживается "из коробки" (настройте titleView на уровне оболочки), но я могу что-то упустить.
Может быть не актуально, но я использую ReactiveUI (MVVM) и Splat (внедрение зависимостей))
Следующее, что я хочу попробовать, - это вызвать обновление, когда каждая страница появляется снова, но это кажется изворотливым.