wpf中用于分层导航的导航栏

时间:2012-04-13 13:24:40

标签: c# asp.net wpf

嗨,asp.net中有一个名为 SiteMapPath 的控件,我需要在WPF中使用类似的东西来帮助用户在应用程序页面中来回导航... 有没有人知道任何第三方控件或内置功能,可以帮助我实现此功能,或者我应该从头开始

能够显示日记历史也可以做到这一点

2 个答案:

答案 0 :(得分:1)

我不知道任何像SiteMapPath一样工作的WPF控件。您可以使用菜单或选项卡控件将不同的视图加载到页面上,并在xml中定义菜单/选项卡。以下是一些可能有助于激发您一些想法的链接 WPF XML DataBinding
Bind to XLinq

对于面包屑,您可能会感兴趣 code project
stack overflow

答案 1 :(得分:1)

好的,我为wpf创建了自己的面包屑...... 首先,因为我的应用程序中的所有导航都基于wpf NavigationService ,所以我使用了Frame的 BackStack 属性

var x = Frame.BackStack.Cast<JournalEntry>().Select((page) => page).ToList();

现在只需将列表框或任何控件绑定到上面列表的Name属性,在我的情况下,因为我只需要跟踪以前的页面,我将此代码添加到SelectionChanged事件中列表框绑定到上面的列表

void listBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        int i = (sender as ListBox).Items.Count - (sender as ListBox).SelectedIndex;
        for (; i > 0 && (sender as ListBox).SelectedIndex != -1; i--)
            Frame.NavigationService.GoBack();
    }