0

так как я только начинаю свой путь в WPF, то хотел бы уточнить несколько моментов у знающих людей:

  • Есть ли возможность реализовать приложение без MVVM(чтобы при этом оно было "правильно" написано)?
  • Как сделать приложение динамическим (например, чтобы менялась информация полученная извне?
  • 1
  • нет никакого «правильно». WPF был разработан с прицелом на MVVM. Вы можете конечно и не использовать MVVM, но тогда будете страдать. Это то же самое, что брать отвертку и гвозди ей забивать.
  • – tym32167 Oct 08 '21 at 11:05
  • 1
  • брать и делать. Вы бы ещё спросили «как сделать хорошо». С такой вашей постановкой вопроса ответ как должен выглядеть? Я вот даже вопроса не понял.
  • – tym32167 Oct 08 '21 at 11:07
  • Чем вас так пугает MVVM? Вас не будет пугать куча кода 3000 строк, наваленного в одном .cs файле? Как в этом разбираться потом. MVVM всего-лишь предлагает грубо говоря интерфейс писать в одном классе, логику приоложения в другом, а данные хранить в третьем и стараться связывать эти классы как можно слабее, чтобы потом легче дорабатывать код было. Из разряда вы внесли изменение в одном месте, а трех других что-то сломалось. MVVM хоть и не полностью, но позволяет сильно снизить верятность попадания в такую ситацию. Материал легко освоить за час. – aepot Oct 08 '21 at 11:14
  • А вот что вам нужно обязательно освоить - это XAML и привязки данных Binding. Без них ничего нормального не получится. – aepot Oct 08 '21 at 11:15
  • Вот возмем пример. Попробуйте переписать его без MVVM и привязок данных (споилер - кода станет раза в 3 больше). Я написал то приложение за полтора часа, там всего около 200 строк кода, включая разметку. И кстати оно - хороший пример той динамичности, о которой вы спрашиваете. – aepot Oct 08 '21 at 11:20
  • Никто не запрещает писать под WPF в стиле WinForms.Просто с MVVM в силу его поддержки "из коробки" удобнее – vitidev Oct 08 '21 at 11:24
  • Не хотите MVVM - используйте любой другой шаблон: MVC или MVP. Я бы предложил MVU - стильно, модно, молодёжно! – Alexander Petrov Oct 08 '21 at 11:41