2016-01-27 2 views
1

Есть ли какая-либо библиотека/фреймворк, который мог бы упростить разработку приложений для приложений Windows, которые содержат несколько фреймов.Приложение UWP с несколькими кадрами с использованием шаблона MVVM

Я имею в виду, используя MVVM Light или BezySoftware MVVM-Navigation приложение очень привязано к идее навигации между разными страницами, размещенными на одном кадре.

Пользовательский интерфейс, который я пытаюсь разработать, состоит из нескольких кадров контента (основного, левого, правого), содержание которых меняется. Мне нужно что-то, что позволит мне легко перемещаться между различными видами (путем размещения этих представлений в соответствующие рамки) и обеспечивает те же возможности, я бы с BezySoftware MVVM-Navigation, так:

  • обращение вида модели государственной настойчивости
  • возможность включения/запроса просмотреть деактивировать модели
  • назад кнопка функция
+0

Официальные рекомендации является навигационной страницы и с помощью рамки навигации может оттолкнуть для пользователей приложений, так как даже Win 8.1/10 приложений следовать этой Парадигма. Также вы не можете использовать шаблоны данных с 'DataType' в приложениях UWP/WinRT. И призмы для winRT/UWP также не поддерживают регионы, которые вы обычно используете в WPF. – Tseng

+0

. Я не думаю, что существует существующая структура. Это очень частный случай, и навигация в значительной степени связана с вашим сценарием. Он уже начинается с IOC (локатор сервисов должен знать, какой из них следует использовать NavigationService, команды навигации должны знать рамку и т. Д.). Я рекомендую только начать с NavigationService, который знает/сообщает, в каком кадре должна произойти навигация. Все остальное, вероятно, откроется в этом процессе. –

+0

Спасибо за ваши ответы. Я начал внедрять навигационную службу для конкретных приложений, которая знает, как работать с разными кадрами, но кажется, что я потерял все другие упомянутые функции MVVM-Navigation. – aguyngueran

ответ

0

Несколько различных вариантов:

  1. Сочетание единой навигационной службы, введенной в вашу модель просмотра. Пользовательские элементы управления для областей, которые необходимо повторить для просмотра (например, вкладки, строки состояния и т. д.). С помощью этого маршрута каждый раз, когда вы создаете новое представление, вы должны вставлять общие пользовательские элементы управления, которые должны появиться. Вы также сможете выставлять связываемые свойства из указанных пользовательских элементов управления.

  2. Сочетание ContentControl, DataTemplate и DataTemplateSelector, чтобы загрузить в любой целой точки зрения (Page) или фрагменты XAML. Как заметил один человек, вы не можете использовать атрибут DataType, вместо этого вы используете класс DataTemplateSelector, чтобы сделать сопоставление для вас. При таком подходе вы также можете использовать триггеры для динамического изменения шаблона (контента) на основе изменений свойств в вашей модели представления и/или взаимодействиях пользователей.

  3. Смесь между 1 и 2 выше.

-2

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

MVVM patter in UWP

+0

Спасибо за обмен. – aguyngueran

+1

Связанная статья не отвечает на вопрос, но больше базового значения MVVM. –

Смежные вопросы