0

我想做一个Settings类似于OptionsVS2012中的框的窗口。我希望为每组设置编写一个 XAML 页面。但是如何使用 aTreeView来选择显示哪个 XAML 页面?XAML 页面是否应该是树中加载的对象的一部分?

(我应该说,我该如何以 MVVM 方式做到这一点......如果可能的话。)

4

1 回答 1

0

我会按照以下方式进行:

有一个视图模型类,将其命名为SettingsPageVM,其中包含一个TitlePageUrl到您的页面。

创建了您的列表后SettingsPageVM,将其绑定到您TreeView的列表中,该列表名为类似Items,的列表HierarchicalDataTemplate,例如:

<HierarchicalDataTemplate DataType="{x:Type vm:SettingsPageVM}" ItemsSource="{Binding Items, Mode=OneWay}">
    <StackPanel>
        <Button Content="{Binding Title}" Command="Open"/>
    </StackPanel>
</HierarchicalDataTemplate>

然后,绑定打开命令以处理导航到您的页面:

<UserControl.CommandBindings>
    <CommandBinding Command="Open" CanExecute="OpenCanExecute" Executed="OpenExecuted"></CommandBinding>
</UserControl.CommandBindings>

你遇到的问题比这更深吗?

于 2012-11-01T23:38:38.770 回答