可以说我有一个 MainWindow 并在其中一个 Grid Column 放置我的 UserControl。并且用户可以通过按钮单击、选项卡或菜单项来切换该列中的用户控件。
我有 3 个用户控件:UserControl1、UserControl2、USerControl3 3 个 ViewModel:UserControl1ViewModel、UserControl2ViewModel、UserControl3ViewModel 一个 MainWindow 和一个 MainWindowViewModel
假设在此列中,默认的 userControl 是 UserControl1。如何通过单击按钮将其切换到 UserControl2。
我发现了一些这样的资源:
<Window.Resources>
<DataTemplate DataType="{x:Type vm:UserControl1ViewModel}">
<v:UserControl1 />
</DataTemplate>
<DataTemplate DataType="{x:Type vm:UserControl2ViewModel}">
<v:UserControl1 />
</DataTemplate>
<DataTemplate DataType="{x:Type vm:UserControl3ViewModel}">
<v:UserControl3/>
</DataTemplate>
</Window.Resources>
这个想法是以某种方式将命令绑定到按钮或菜单项以切换用户控件。该代码将在 MainWindowViewModel 中处理。