Я создаю приложение с несколькими модулями. Каждый из модулей содержит модель представления и представление.
Я хотел бы создать решение для автоматического отображения SelectedModule в части моего приложения.
Предположим, что у меня есть представление MainWindow следующим образом:
<catel:UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:catel="http://catel.codeplex.com" xmlns:dxsch="http://schemas.devexpress.com/winfx/2008/xaml/scheduler"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
x:Class="OrchestraCatel.Views.MainWindow">
<DockPanel LastChildFill="True">
<ContentControl x:Name="Ribbon" DockPanel.Dock="Top">
<!-- My Ribbon-->
</ContentControl>
<ContentControl x:Name="MainView" DockPanel.Dock="Top">
<!-- My Main Page-->
</ContentControl>
</DockPanel>
</catel:UserControl>
И я хотел бы показать UserControl, указанный в другой DLL внутри MainView
ContentControl после щелчка элемента ленты.
И кнопка ленты, и представление MainView находятся в модуле DLL.
У меня была идея включить SelectedViewModel
в мою MainPage
ViewModel, а затем создать DataTemplates для каждой ViewModel, но это решение разрушит мое представление о модулях, которые должны быть независимыми.
Есть ли способ в Catel заменить представление другим? Откуда угодно?