VS2012Settings
のボックスに似たウィンドウを作りたいです。Options
設定のセットごとに XAML ページを作成する予定です。しかし、どのTreeView
XAML ページを表示するかを選択するにはどうすればよいでしょうか? XAML ページは、ツリーに読み込まれるオブジェクトの一部にする必要がありますか?
(MVVMの方法でこれを行うにはどうすればよいですか...可能であれば。)
私は次のようにそれを行います:
ビューモデルクラスがあり、それをのようなものと呼びます。これには、とSettingsPageVM
が含まれています。Title
PageUrl
のリストを作成したら、次のような、などのリストを使用して、リストをSettingsPageVM
にバインドします。TreeView
Items
HierarchicalDataTemplate
<HierarchicalDataTemplate DataType="{x:Type vm:SettingsPageVM}" ItemsSource="{Binding Items, Mode=OneWay}">
<StackPanel>
<Button Content="{Binding Title}" Command="Open"/>
</StackPanel>
</HierarchicalDataTemplate>
次に、openコマンドをバインドして、ページへの移動を処理します。
<UserControl.CommandBindings>
<CommandBinding Command="Open" CanExecute="OpenCanExecute" Executed="OpenExecuted"></CommandBinding>
</UserControl.CommandBindings>
あなたが抱えている問題はこれよりも深いですか?