删除导航服务的前进条目?

4im*_*ble 5 c# navigation wpf

如何删除导航服务中的所有转发条目?

我试过这个,但它崩溃了.

    while (NavigationService.CanGoForward) NavigationService.RemoveBackEntry();
Run Code Online (Sandbox Code Playgroud)

我知道"RemoveBackEntry()"似乎很奇怪,但没有RemoveForwardEntry()方法.

有任何想法吗?

谢谢,Kohan

编辑1: 我更近一点,我可以访问前向堆栈,甚至输出每个项目,但我似乎无法弄清楚如何删除条目._frame.ForwardStack或j上的所有属性或方法都没有提供有关如何删除这些条目的任何信息.

        Window mainWindow = Application.Current.MainWindow;
        Frame _frame = (Frame)mainWindow.FindName("mainFrame");
        foreach (JournalEntry j in _frame.ForwardStack)
        {
            MessageBox.Show(j.Name);
        }
Run Code Online (Sandbox Code Playgroud)

小智 0

我对 wpf 导航进行了更多阅读,如果您可以访问应用程序的 NavigationWindow 实例,则有一个名为 ForwardStack 的属性,它保存向前导航页面的列表。您应该能够从那里添加或删除页面。

我自己还没有尝试过这个,因为我现在没有可以测试这个的项目,所以请告诉我这是否有效,因为我想将来自己尝试一下。

请参阅 msdn 链接以获取完整的成员列表:http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationwindow_members.aspx

  • 后退和前进堆栈是只读的。如何删除页面? (4认同)