В любом большом приложении у меня есть такая проблема:
Я строю внешний вид окна, и я хочу, чтобы в нем было, например, меню слева, некоторое содержимое в середине и т. Д.
Теперь, если я хочу повторно использовать некоторые из этих вещей (большую часть) или просто не хочу хранить все это в одном файле xaml, как мне это сделать? До сих пор я делал это так:
- Я создаю UserControl + ViewModel для этих компонентов (обычно мне нужно разделить основной вид на два или три компонента)
В главном окне (xaml) я поставил:
<DockPanel>
<ContentControl Content="{Binding Menu}" DockPanel.Dock="Left"/>
<ContentControl Content="{Binding MainStuff}"/>
</DockPanel>
В основной WindowViewModel я положил:
Menu = new MenuViewModel();
MainStuff = new MainStuffViewModel();
И иногда этим VModel приходится обращаться к MainViewModel, но редко.
Этот подход не очень хорош, потому что я не вижу свой дизайн в редакторе xaml главного окна (иногда я вижу его, я не знаю, возможно, Visual пытается связать перед компиляцией, но иногда это не получается, я не понимаю не хочу об этом думать :))
Что такое профессиональный подход?