【发布时间】:2010-04-26 09:07:48
【问题描述】:
我读到有几个人对此有疑问,所以我想发布一个(有点)优雅的解决方案,我在尝试处理这个问题时想出了。问题是当您在 Silverlight 中创建模板页面并且 ContentControls 没有父 Frame 的 NavigationService 时(当您尝试使用它时它始终为空)。在智能中存在 NavigationService 但始终为空的类似场景。要启用站点范围的导航:
创建一个新的
UserControl(我称之为“NavFrame”),其中包含一个导航框架(我称之为“RootFrame”)。在此框架内,您可以设置任何您喜欢的内容。
将此 UserControl 设置为 App.xaml.cs 中的
RootVisual(即this.RootVisual = new NavFrame();)。-
要在您的任何页面中使用 NavigationService,您可以输入以下内容:
((NavFrame)App.Current.RootVisual).RootFrame.NavigationService .Navigate(new Uri("Your Uri", UriKind.RelativeOrAbsolute));
【问题讨论】:
-
+1:一直在寻找能够让我在 App.Xaml.cs 类中使用 NavigationService 的东西。谢谢。
标签: silverlight xaml navigation