Silverlight中的Navigation导航

Silverlight中的Navigation导航,第1张

概述备忘2010.06.25 星期五 明天周六总部来人,职称水平认证。世界杯 葡萄牙-巴西。天气 一般。 最近对Silverlight产生了兴趣,利用业余时间看看学学,但由于本人能力水平和时间有限,对Silverlight研究的不是很深入。今天在各位老师面前献丑了。 利用Sivlerlight中的导航可以做出类似于FrameSet的框架结构。 1。创建Silverlight应用程序项目“Navigat

备忘2010.06.25 星期五 明天周六总部来人,职称水平认证。世界杯 葡萄牙-巴西。天气 一般。

最近对Silverlight产生了兴趣,利用业余时间看看学学,但由于本人能力水平和时间有限,对Silverlight研究的不是很深入。今天在各位老师面前献丑了。

利用Sivlerlight中的导航可以做出类似于FrameSet的框架结构。

1。创建Silverlight应用程序项目“NavigationDemo”。
在“NavigationDemo”中添加两个引用System.windows.Controls,System.windows.Controls.Navigation。 保证这两个引用的添加是调用核心控件和导航的重要前提。

2。将设置左右两栏布局,左250px宽,右自由伸展。
外层布局使用StackPanel(堆布局)水平方向,内层嵌入另一个StackPanel垂直方向宽度250px并嵌入三个Hyperlinkbutton,同层放入一个Frame。如下图所示:

在MainFrame.xaml页面中的代码实现:

第7行首先要引入Navigate命名空间,我把此命名空间的前缀名叫做navigate(名词任意),这样在15行才可以引入该命名空间中的Frame标签。 此Frame标签的ID为”MainFrame”,用x:name属性进行表示,并在两个方向上进行延伸,间距20像素。我们所要链接的页面都会在此frame标记中显示。

StackPanel是垂直或水平堆叠元素的布局方式。每个元素都顶着或靠着。并且可以嵌套。还有其它两个常用的布局方式,分别是Canvas和 GrID布局。

Canvas是最基础的布局方式,通过坐标绝对地定位元素。

GrID是通过行、列定位元素的网格布局,是最为灵活的布局方式。

3。设置按钮的事件处理

创建三个Silverlight普通页面

VIEws/HomePage.xaml VIEws/AboutPage.xaml VIEws/CustomerList.xaml

HomePage.xaml主体包含一个文本块,页面标题”Home – welcome to our application”.

AboutPage.xaml主体包含一个文本块,页面标题”About My information”

CustomerList.xaml主体包含一个文本块,页面标题”CustomerList Page”

在MainPage.xaml为三个button注册事件,并设置事件处理方法。通过事件处理方法“右键”选择“导航到事件处理程序”可以定向到后台。


Tag属性提供了为后台提供额外消息的一种手段,通过Tag属性的值我们可以通过代码创建URI对象并定向到指定的页面。当按钮被点击时将触发”linkbutton_click”事件。

 
通过按钮的Tag属性获得了跳转的路径,并创建Uri对象并指定路径的方式(绝对还是相对),最后调用框架的Navigate()方法进行跳转。运行结果如图:

在Silverlight中的Frame标签类似于HTML页面中iframe内嵌框架,我们所有超链接所链接到的页面都会在此框架标签中显示,该标签还有一个source属性用于指定首页,如Source="/VIEws/Home.xaml".这样页面在运行时就会以Home.xaml作为右侧的首页面。

4。再加点代码,在CustomerList.xaml中做主明细页面,主页面显示客户列表,子页面显示该客户的详细信息。子页面的显示同样位于框架的右侧。

创建VIEws/CustomerDetail.xaml页面

创建Model/Customers.cs类

 

不要忘记导入linq命名空间。

回到CustomerList.xaml,添加客户列表绑定,分别绑定到Firstname,Lastname,ID。使用绑定语法{Binding 名}

后台代码:

添加了Loaded页面加载事件完成了批量数据的绑定。NavigationService.Navigate()完成了跳转并传递ID参数。

CustomerDetail.xaml前后台代码

 

 

 

 

NavigationContext导航上下文,通过该对象可以获得请求参数。

页面绑定this.DataContext=c;

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

总结

以上是内存溢出为你收集整理的Silverlight中的Navigation导航全部内容,希望文章能够帮你解决Silverlight中的Navigation导航所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1030247.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存