备忘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.xamlHomePage.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导航所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)