Запуск WPF MVVM. Использовать рамки? [закрыто]

8
задан Community 23 May 2017 в 10:32
поделиться

4 ответа

Мои $0,02 :

Я начал использовать WPF/шаблон Mvvm несколько недель назад, и один из способов, который я определенно могу порекомендовать, это сначала запустить тестовый проект, много читая о mvvm и пытаться реализовать его самостоятельно (даже если это просто использование частей чужого материала). Реализуйте что-нибудь, прочитайте еще немного, вернитесь и измените материал, а затем прочитайте еще немного.

Делайте это в течение первых 2 недель, и вы получите представление о том, что это такое на самом деле, вы увидите некоторые проблемы и найдете некоторые решения и так далее. По сути, это поможет вам понять идею mvvm и даст вам некоторый практический опыт.

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

В итоге я использовал не существующий комплект, а свою собственную очень простую реализацию, так как мне не нужно было много сложности для моего проекта, но я получил гораздо больше признательности за некоторые реализации, которые обсуждались в Интернете.

Редактировать: Когда я говорю о «двух неделях», я имею в виду «две недели свободного времени», что составляет около 25 реальных часов ;-)

10
ответ дан 5 December 2019 в 06:52
поделиться

IMO, нет необходимости использовать фреймворк. MVVM — это просто способ ведения дел.

Для начала вам нужен только класс RelayCommand , чтобы вы могли привязывать команды к вашей модели представления. Вы можете загрузить его из Josh Smith MVVM Foundation

. Затем, когда вы станете более продвинутым, вы сможете добавить другие классы, такие как:

  • ObservableObject: этот класс предназначен для использования в качестве базового Типы ViewModel или любой тип, который должен предоставлять уведомления об изменении свойств. Он реализует INotifyPropertyChanged и в отладочных сборках проверит, что все имена свойств, переданные через Событие PropertyChanged допустимо характеристики. Раньше этот класс был называется ViewModelBase.

  • Messenger: класс Messenger — это упрощенный способ передачи сообщения между различными ViewModel объекты, о которых не нужно знать друг с другом. Это основано на Реализация посредника, созданная Марлон Греч и Джош Смит, как видно в блоге Марлона.

11
ответ дан 5 December 2019 в 06:52
поделиться

Думаю, будет лучше начать с приложения hello world. Медленно привыкайте к элементам управления (listview, gridivew...), а затем к основным понятиям wpf (привязка, шаблоны, триггеры...). После этого вы можете перейти к MVVM.

0
ответ дан 5 December 2019 в 06:52
поделиться

С моей точки зрения, если вы изучаете WPF/MVVM для себя, вы должны тщательно изучить MVVM и попытаться создать структуру с нуля (как объяснил Эдуардо)

Но если вы начинаете с коммерческого проекта или корпоративного приложения, тогда вы должны рассмотреть возможность использования какой-либо установленной среды, такой как PRISM, Caliburn или MVVM Light Toolkit.

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

3
ответ дан 5 December 2019 в 06:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: