现代UI如何从另一个链接转到另一个页面

我目前正在使用CodePlex的Modern UI。 它很棒且易于使用,但有一些我不熟悉的课程和活动。 示例:我有两个名为“患者”和“配置”的GroupLink。 每个GroupLinks都有几个页面。 我尝试使用按钮单击事件从一个页面导航到另一个页面。 有效。 但是当我尝试从GroupLink2的Page1导航到GroupLink1的Page1时,它仍然有效,但问题是活动的GroupLink保留在GroupLink2而不是GroupLink1,就像下面的屏幕截图所示:

配置GroupLink2,我将点击新建条目

页面导航到PatientPage,但GroupLink仍然是GroupLink2

顺便说一下,我用后面的代码从Allergies(IrritantPage)导航到PatientsPage:

private void FilterControl_OnToPatientClick(object sender, RoutedEventArgs e) { NavigationCommands.GoToPage.Execute("/MainContents/PatientGridPage.xaml", this); } 

那么我该如何解决这个问题呢?

这是我的MainWindow,患者选项卡页面和配置列表页面

现代窗户(主窗口)

                    

MAINTAB PAGE(患者页面)

             

CONFIGURATIONLISTNAV(配置页面)

                

您正在将“页面”导航与ModernTab控件内的“选项卡”导航混合。

如果在ModernTab控件中调用NavigationCommands.GoToPage.Execute ,则更改当前的“选项卡”,而不是当前的“页面”。

要更改顶级页面,您可以使用:

 IInputElement target = NavigationHelper.FindFrame("_top", this); NavigationCommands.GoToPage.Execute("/Pages/BasicPage1.xaml", target); 

如果新页面是另一个ModernTab并且您想要选择另一个选项卡然后选择默认选项卡,那么您必须添加一些额外的代码。 在示例中,您可以将参数传递给新页面。 请回答这个问题。

对于任何可能正在努力解决此问题的人,请在MainWindow.cs构造函数中设置:

  Application.Current.MainWindow = this; 

然后在您要导航到页面的应用程序部分中,运行以下命令:

  IInputElement target = NavigationHelper.FindFrame("_top", Application.Current.MainWindow); NavigationCommands.GoToPage.Execute("/NameOfYourPage.xaml", target);