Вам не нужно полагаться на MVVM при использовании wpf.На самом деле ключи для правильного использования wpf:
- использовать команды вместо событий (вы можете сделать это, не осознавая этого, но проверьте, чтобы убедиться)
- Используйте привязку данных вместо получениязначения от элементов управления напрямую
- Установите контекст данных и привязайте его к нему вместо привязки к коду, стоящему за
MVVM действительно хорошо работает для этих двух вещей, но не является обязательным.В частности, MVVM требует трехуровневого строгого разделения задач, которое можно легко осуществить с помощью MVP.
Что касается производительности, то это действительно зависит от платформы, на которой запускается приложение, и от кодастиль.Если вы запустите его на компьютере без приличной видеокарты, то winForms, вероятно, будут работать лучше, потому что wpf, вероятно, вернется к программному рендерингу, который будет очень медленным.Если вам нужно сделать 3D-графику, тогда wpf - это действительно единственный вариант.
Чужая рекомендация НЕ использовать MVVM .
Пример кода проекта, каксделать MVP с wpf