//Silverlight页面的跳转
//(Application.Current.RootVisual as IContent).Content = new DragControl();
//普通页面跳转
HtmlWindow html = HtmlPage.Window;
//html.Navigate(new Uri("普通网址
html.Navigate(new Uri("../Index.aspx", UriKind.Relative));//相对路径
参考一:
方法一: 可跳转到网页
方法二:跳转到Xaml页
方法三:框架跳转item.Link_Page.Trim():代表xaml名 e.g: /views/home
框架
链接
<HyperlinkButton x:Name="userid" NavigateUri="/Views/Home"
参考二:
问题:从页面A跳转到页面B.
方法:在页面A的cs文件中:
1.先引入命名空间:
2.跳转语句:
HtmlWindow html = HtmlPage.Window;
html.Navigate(new Uri("/Default.aspx",UriKind.Relative));注意黑体字部分,如果要使用相对路径的话,必须加上,全路径的话,可以不用.
OK了,今天刚搞好的,也不知道可有其他办法了,再来找找,要有更好的办法,我再加进来吧.
页间跳转
在ASP.NET中我们可以通过SESSION,HTTP REQUEST URL STRING,COOKIE,话题扯远了,silverlight又不是web。在silverlight中有个NavigationService类,提供了诸如GoBack(),GoNext(),Navigate(Uri source)等几个方法。每一个PhoneApplicationPage实例都有一个类型为NavigationService的属性。所以我们可以通过调用类似Page.NavigationService.Navigate(“/Action.xaml”);这种方式来导航至对应窗口。
由于比较简单所以具体方法不再叙述。这里有几点注意的地方:
a.使用NavigationService进行的页间导航只会发生在本应用程序的页面之间。
b.在由A导航至B的过程中,A的Unloaded事件被触发,B的Loaded事件被触发。
页间传参
NavigationService.Navigate(Uri source)中的Uri能够使用像http request url那样的方式写入参数,比如“page.NavigationService.Navigate(new Uri("/PhonePage1.xaml?a=1", UriKind.Relative));”,那么可以在导航目标页面上使用NavigationContext类的QueryString方法来获取参数,同NavigationService一样,每一个PhoneApplicationPage都含有一个NavigationContext类型的公有属性。