Повторное использование меню с mvvm и wpf - PullRequest
4 голосов
/ 07 июня 2011

Мне было интересно, как лучше всего использовать меню для всех окон / представлений wpf.

Мое приложение не совсем подходит для модели навигации, поэтому, вероятно, будет использовать элемент управления ленты.

Я склоняюсь к созданию пользовательского элемента управления для меню и опусканию его при каждом просмотре, но также видел статью MSDN Джоша Смита, где он загружает пользовательские элементы управления.

Есть ли какие-либо другие варианты или признанные лучшие практики?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 08 июня 2011

Я закончил тем, что реализовал таким же образом, как Джош Смитс; Однако я немного упростил вещи.

Все представления являются пользовательскими, кроме MainWindow. MainWindow содержит ContentTemplate, который связан со свойством, содержащим ссылку на один UserControl в модели представления. Затем у меня есть ApplicationController, отвечающий за управление представлением и жизненным циклом модели представления. Базовый класс ViewModel, используемый каждым представлением, содержит ссылку на IApplicationController. Затем MainWindowViewModel вызывает ApplicationController для загрузки нового представления и т. Д.

Все еще не 100% на этом подходе, поэтому приветствую любые дальнейшие предложения.

0 голосов
/ 08 июня 2011

Вот что я, вероятно, попробую:

  • Определить ISharedMenu интерфейс
  • Создайте UserControl, который использует ISharedMenu в качестве своего DataContext.
  • Для каждой ViewModel, для которой вы хотите использовать общее меню, реализуйте интерфейс ISharedMenu.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...