2011-06-07 105 views
0

在silverlight导航框架中如何从mainpage.xaml导航到xaml页面?在我的情况下,我有菜单项,并需要去菜单点击相应的菜单项的XAML页面。silverlight导航框架

+0

你有没有类尝试使用NavigationService.Navigate(“AnotherPage.xaml”,UriKind.AbsoluteOrRelative);打电话? – kanchirk 2011-06-07 12:54:14

+0

我在用户控件页面中添加菜单项。所以我没有得到NavigationService.Navigate方法.. – Azhagiri 2011-06-07 12:55:41

+0

嗯,我看到..在用户控件中,添加引用到System.Windows.Navigation并尝试。您想要完成的是在MenuClick上,您可以将导航呼叫触发到相应的Xaml。 – kanchirk 2011-06-07 12:57:39

回答

1

您可以在启动时在App.xaml.cs文件中注册NavigationService变量。在您第一次访问托管导航框架的页面时分配变量 - 您从框架控件获取NavigationService。

在你的菜单用户控件,你可以在App命名空间访问的NavigationService: ((MyApp的)应用程序).​​NavigationService

1

解决方案: - 在XAML页面,这是类型的用户控件的导航可以通过进行在xaml页面中添加导航框架。

例如: - 的XAML页面

<navigation:Frame x:Name="ContentFrame" Style="{StaticResource ContentFrameStyle}" 
           Source="/Home" Navigated="ContentFrame_Navigated" NavigationFailed="ContentFrame_NavigationFailed"> 
       <navigation:Frame.UriMapper> 
        <uriMapper:UriMapper> 
         <uriMapper:UriMapping Uri="" MappedUri="/Views/Home.xaml"/> 
         <uriMapper:UriMapping Uri="/{pageName}" MappedUri="/Views/{pageName}.xaml"/> 
        </uriMapper:UriMapper> 
       </navigation:Frame.UriMapper> 
      </navigation:Frame> 

在页面的.cs

ContentFrame.Navigate(new Uri("URIPATH", UriKind.Relative)); 

//其中URIPATH是其导航所需