@Matisumi

WPF+MVVM, как организовать архитектуру окна?

Упрощу реальную задачу для примера - есть вьюшка окна, в окне есть несколько кнопок и условная панель. По нажатию на каждую кнопку в панели должна появляться форма с текстбоксами, лейблами, комбобоксами, etc, причем у каждой кнопки своя форма.
Вопрос в том, как правильно организовать архитектуру всего окна с учетом паттерна MVVM и того, что кнопочки могут/будут со временем добавляться, а вместе с ними, соответственно, и формы.
Самым тупым вариантом будет каждую формочку вынести в отдельный UserControl, добавить их скопом в главное окно и просто скрывать/показывать, но этот вариант видится мне не самым оптимальным. Возможно есть более лаконичные варианты?
  • Вопрос задан
  • 1288 просмотров
Пригласить эксперта
Ответы на вопрос 2
petermzg
@petermzg
Самый лучший программист
Ваши кнопочки могут быть TabControl с кастомным Template.
И в TabItem добавляется Frame, тогда его Source будут отдельные Page с контролами.

Можно все Frame сразу задать в ресурсах, а можно возвращать Uri из ValueConverter-а.

В ViewModel будете просто менять тип страницы и в TabControl -> SelectedItem через конвертер обрабатывать.
Ответ написан
Комментировать
Возможно в этом случае подойдёт один из WPF framework'ов, например PRISM с его Region Manager.

regionManager.RequestNavigate("ModuleContractorLegalRegion",
                        nameof(LegalScroll.Views.ViewContractorLegalScroll));
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы