Лучшая практика для обмена данными между страницами

Мне было интересно, что лучше всего посылать переменные типа selectedItem и т. Д. Между страницами в UWP? Является ли хорошей идеей просто создать класс статической глобальной переменной, о которой знает каждая страница?

2 ответа

Решение

Я собираюсь подвести итог Microsoft Best Practice здесь:

Для простых данных (например, строк):
Использовать Frame.Navigate(TypeName, Object) метод, где в качестве второго аргумента всегда должна быть строка (даже если она допускает объекты). Второй аргумент может быть извлечен из NavigationEventArgs.Parameter в Frame.Navigated обработчик события.

Для сложных данных (кроме строк):
Здесь вы можете выбрать один из двух вариантов, в зависимости от размера и сложности вашего приложения:

  • Либо управляйте ссылкой на любые сложные данные внутри вашего App класс прямо
  • Или сохраните ссылку на них в любом классе менеджера, который является членом вашего App учебный класс. (например NavigationDataManager).

На самом деле, если вы используете подход MVVM, у вас есть вся необходимая информация в классе (ах) ModelView. Если вы не используете MVVM, просто используйте одноэлементный класс или даже статический глобальный класс.

Другие вопросы по тегам