加载页面的一部分与其余WPF不同

时间:2019-07-04 09:18:11

标签: wpf

我正在创建WPF应用程序。它包含一个充满页面的窗口。在此页面中,我有一个树视图,它充当我的应用程序的菜单。

如何在保持树视图不变的情况下导航到另一个页面

例如一个用户导航到一个页面,当该页面加载时,树视图会自动重置,但是我希望树视图在用户离开时保持不变(打开的分支指向最后一个菜单项)

此刻,我在每个页面上都有以下内容:

这就是它重置的原因

        <TreeView>
            <TreeViewItem Header="Items">
                <TreeViewItem Header="Item 1"></TreeViewItem>
                <TreeViewItem Header="Item 2"></TreeViewItem>
            </TreeViewItem>

            <TreeViewItem Header="ore Items">
                <TreeViewItem Header="Item a"></TreeViewItem>
                <TreeViewItem Header="Item b"></TreeViewItem>
            </TreeViewItem>
        </TreeView>

如果用户单击Items> Item 1,则在下一页加载时,我希望在用户离开时打开Tree View(Items> Item 1),而不是重新加载为默认视图。

这可能吗?

1 个答案:

答案 0 :(得分:0)

将TreeView置于页面外部,以便在页面更改时在其外部保留。

例如,在您的窗口中,您可能有一个网格,其中TreeView位于第0行,而承载页面的框架位于第1行。

您可以做的另一件事是将TreeView的状态保存为一个使用TreeView的所有页面的数据上下文内的值。这样可以在导航之间保留TreeView的状态。