我是Silverlight的新手,从我收集的内容来看,没有关于分页的任何直接功能,所以我从here下载了螺旋项目。我发现它非常有用,但未能找到一种方法(使用螺旋)来通过代码隐藏来浏览页面。我需要这个的原因是,如果方法成功执行,我想导航到另一个页面。
答案 0 :(得分:2)
在RootPage.xaml.cs的OnLoaded事件中,您可以看到以下代码:
this.rootFrame.Navigate( new Uri( "Page1.xaml", UriKind.Relative ) );
当RootPage通过调用RootPage.xaml中定义的Frame控件实例的Navigate方法加载时,以编程方式导航到Page1.xaml(实现NavigationPage):
<h:Frame x:Name="rootFrame" Grid.Row="0" Grid.Column="1"
NavigationUIVisibility="Visible" Margin="4" />
这个Navigate方法依次调用Frame封装的StackJournal实例的Navigate方法。
如果你是一个无法直接访问父框架的页面的代码隐藏(即除了RootPage之外的任何页面),例如Page1.xaml,你需要引发一个RequestNavigate事件,该事件将冒泡到最近的父框架。
以下代码显示如何以编程方式从Page1.xaml上的按钮单击直接导航到Page3.xaml:
private void TestButton_Click(object sender, RoutedEventArgs e)
{
this.RaiseEvent(NavigationLink.RequestNavigateEvent,
new RequestNavigateEventArgs(new Uri("Page3.xaml", UriKind.Relative),
"rootFrame"));
}
请注意,targetName是“rootFrame”,即最终执行导航的父Frame对象。