К MVVM или не к MVVM, который является вопросом

Я сказал бы, лучше использовать класс каждый раз, когда Вы думаете, что элемент стиля будет повторным на странице. Объекты как HeaderImage, FooterBar и т.п. подходят как идентификатор, так как Вы будете только использовать его однажды, и он поможет предотвратить Вас от случайного дублирования его, так как некоторые редакторы предупредят Вас, когда у Вас будут дублирующиеся идентификаторы.

я могу также видеть его полезный, если Вы собираетесь генерировать элементы отделения динамично и хотеть предназначаться для определенного объекта для форматирования; можно просто дать ему надлежащий идентификатор в поколении в противоположность поиску элемента и затем обновлению его класса.

17
задан Tim 20 November 2009 в 14:40
поделиться

4 ответа

Я использую MVVM, но не религиозно.

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

24
ответ дан 30 November 2019 в 12:13
поделиться

MVVM очень хорошо поддается WPF. Можете ли вы выполнить перетаскивание с помощью WPF и MVVM? Что вы можете. Попробуйте выполнить поиск по запросу "WPF Drag Drop Behavior"

5
ответ дан 30 November 2019 в 12:13
поделиться

Есть две действительно веские причины использовать MVVM:

  1. Он помогает создавать бизнес-логику. и код доступа к данным, что больше легко тестируется
  2. С минимальными усилиями все вашего UX должно быть легко изменить in Blend

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

Что касается дополнительных усилий, о которых я упоминал в №2, вы можете легко добавить статическое свойство к своему объекту App, чтобы определить, работает ли приложение или View, открываемый в Blend. Если представление открыто в Blend, используйте фиктивные данные вместо вызовов доступа к данным. Вот пример кода, который работает для проверки того, есть ли в Blend открытое представление:

if (Application.Current == null || Application.Current.GetType() == typeof(Application))
{
    isInDesignMode = true;
}
else
{
    isInDesignMode = false;
}

Надеюсь, это поможет.

3
ответ дан 30 November 2019 в 12:13
поделиться

Если вы ищете возможности для обслуживания и тестирования приложений в долгосрочной перспективе, убедитесь, что вы можете сделать это с помощью MVVM и WPF. или просто используйте WPF. Кривая начального обучения MMVM очень крутая.

1
ответ дан 30 November 2019 в 12:13
поделиться
Другие вопросы по тегам:

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