我正在构建具有多个模块的应用程序。每个模块都包含一个视图模型和视图。
我想创建解决方案,自动显示在我的应用程序的一部分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>
单击功能区项目后,我想显示在MainView
ContentControl中的另一个DLL中指定的UserControl。
功能区按钮和MainView视图都在模块DLL中
我有一个想法是在我的MainPage
ViewModel中包含SelectedViewModel
,然后为每个ViewModel创建DataTemplates,但这个解决方案将打破我对模块的看法,模块应该是独立的。
在Catel中有没有办法用另一个视图替换另一个视图?从任何地方?
发布于 2015-05-23 20:08:09
我认为Prism为您解决了这个问题。请看一下Prism与Catel的集成:
https://catelproject.atlassian.net/wiki/display/CTL/Catel.Extensions.Prism
https://stackoverflow.com/questions/30406539
复制相似问题