использование WPF-навигации в автономных приложениях - PullRequest
2 голосов
/ 26 июня 2009

Является ли использование WPF-навигации в автономных приложениях лучшей практикой? И можно ли его использовать с шаблоном WPF MVVM?

Ответы [ 2 ]

5 голосов
/ 26 июня 2009

Чтобы ответить на ваш второй вопрос, да, WPF-навигация может быть успешно использована с шаблоном MVVM.

Что касается первого вопроса, лучший ответ - «это зависит». В частности, это зависит от приложения, которое вы пытаетесь создать; некоторые приложения логически являются «навигационными» приложениями, где пользователи должны каким-то образом перемещаться по ряду экранов, в то время как другие приложения имеют разные парадигмы. Лучший совет, который я могу вам дать, - не бороться с ним - если ваше приложение имеет смысл в контексте навигации, то во всех случаях используйте навигацию WPF, но если этого не произойдет, не пытайтесь вставить ее в один.

Возможно, лучший способ определить, использует ли ваше приложение парадигму навигации, - имеет ли смысл кнопка возврата; если это произойдет, тогда вы захотите использовать Frame или NavigationWindow, чтобы вы могли использовать встроенную поддержку навигации WPF.

1 голос
/ 07 мая 2010

Я не думаю, что System.Windows.Navigation еще готова для производственных приложений. Я обнаружил, что использование его в приложении WPF4 разочаровывает, если вам нужно передавать данные между страницами.

Я также столкнулся с серьезной ошибкой, которая приводит к сбою привязки данных после использования навигации назад или вперед .

Для приложений в стиле MVVM, MVC и MVP существует множество наборов инструментов и структур WPF. Практически все они заменяют классы Hyperlink, Page, Frame и Journal, которые Microsoft предоставляет специализированными службами навигации. Таким образом, сообщество разработчиков, похоже, дало System.Windows.Navigation «вотум недоверия». Надеемся, что в будущем поддержка приложений в стиле навигации улучшится.

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

Я все еще ищу хороший подход к этой проблеме сам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...