现代UI如何从另一个链接转到另一个页面
我目前正在使用CodePlex的Modern UI。 它很棒且易于使用,但有一些我不熟悉的课程和活动。 示例:我有两个名为“患者”和“配置”的GroupLink。 每个GroupLinks都有几个页面。 我尝试使用按钮单击事件从一个页面导航到另一个页面。 有效。 但是当我尝试从GroupLink2的Page1导航到GroupLink1的Page1时,它仍然有效,但问题是活动的GroupLink保留在GroupLink2而不是GroupLink1,就像下面的屏幕截图所示:
顺便说一下,我用后面的代码从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);