Wpf 在窗口上放置几个UserControl组件的正确方法
在任何大型应用程序中,我都会遇到以下问题: 我正在构建窗口外观,我希望它有例如左边的菜单,中间的一些内容等等。 现在,如果我想重用其中的一些东西(大部分),或者我不想把它们都保存在一个xaml文件中,我该怎么做?直到现在我都是这样做的:Wpf 在窗口上放置几个UserControl组件的正确方法,wpf,user-controls,window,Wpf,User Controls,Window,在任何大型应用程序中,我都会遇到以下问题: 我正在构建窗口外观,我希望它有例如左边的菜单,中间的一些内容等等。 现在,如果我想重用其中的一些东西(大部分),或者我不想把它们都保存在一个xaml文件中,我该怎么做?直到现在我都是这样做的: 我为这些组件创建UserControl+ViewModel(通常我需要将主视图拆分为两个或三个组件) 在主窗口(xaml)中,我放置: 有时,这些VModel必须参照MainViewModel,但很少 这种方法不是很好,因为我无法在主窗口xaml编辑器中看到我
什么是pro方法?大型应用程序需要从单一的形式转变为可重用、可组合的形式—您正在寻找。为分区创建区域,并将使用控件转换为视图并插入它们。您的MenuView模型是否有相应的MenuView 在这种情况下,您可以按如下方式替换ContentControl:
<DockPanel>
<prefix:MenuView DataContext="{Binding Menu}" DockPanel.Dock="Left"/>
<prefix:MainStuffView DataContext="{Binding MainStuff}"/>
</DockPanel>
这样,您就可以获得MenuView和MainstruffView用户控件的设计视图
Menu = new MenuViewModel();
MainStuff = new MainStuffViewModel();
<DockPanel>
<prefix:MenuView DataContext="{Binding Menu}" DockPanel.Dock="Left"/>
<prefix:MainStuffView DataContext="{Binding MainStuff}"/>
</DockPanel>