ツリービューを使用してナビゲーション メニューを実装しようとしています。左側のパネルにはツリービューがあり、右側のパネルには一致したビューがあります。MVVM であるため、正しいビューを切り替えるのが困難です。
Menu1 をクリックすると、View1.xaml ビューが表示されます。Menu2 をクリックすると、View2.xaml ビューが表示されます。
私のコードは次のようになります: MainView.xaml
<Window x:Class="Menu.View.MainView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Views="clr-namespace:Menu.View"
Title="MainView" Height="300" Width="300">
<Window.Resources>
<DataTemplate DataType="{x:Type Views:Page1}">
<Views:Page1 />
</DataTemplate>
<DataTemplate DataType="{x:Type Views:Page2}">
<Views:Page2 />
</DataTemplate>
</Window.Resources>
<DockPanel>
<Grid DockPanel.Dock="Left">
<TreeView>
<TreeViewItem Header="Menu 1" />
<TreeViewItem Header="Menu 2" />
<TreeViewItem Header="Menu 3" />
</TreeView>
</Grid>
<Grid DockPanel.Dock="Right">
<Views:Page1 />
<Views:Page2 />
</Grid>
</DockPanel>
</Window>
Page1.xaml (「メニュー 1」をクリックしたときに表示されるビュー)
<Grid>
<Label FontSize="24" FontWeight="Bold">1</Label>
</Grid>
Page2.xaml (「メニュー 2」をクリックしたときに表示されるビュー)
<Grid>
<Label FontSize="24" FontWeight="Bold">2</Label>
</Grid>
すべてのページに独自のViewModelがあり、MainViewModelと呼ばれるメインのViewModelがあります。MVVMモードでそのようなことをどのように実装すればよいですか?