博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SilverLight商业应用程序开发---学习笔记(9)
阅读量:6909 次
发布时间:2019-06-27

本文共 2763 字,大约阅读时间需要 9 分钟。

从摘要信息跳转到详细信息

通常会遇到从列表信息跳转到详细记录页面或记录编辑页面的情况。有很多方法可以实现这种跳转行为,比如导航到细节视图,在弹出窗体打开细节视图,使用DataGrid控件的行细节显示特性显示细节内容,使用主/从视图等。下面逐一介绍:

 

导航到细节视图

如果使用DataGrid控件,可以在模板列添加一个控件如Button或HyperlinkButton以使用户可以点击导航到细节视图。如果使用ListBox控件,则可以在项目模板中包含导航按钮控件。可惜在导航框架中不能在视图间传递复杂类型,因此在导航过程中通常以唯一的标识符作为查询参数,通常在按钮的Click事件中实现:

XAML:

 

Code Behind:

private void NameButton_Click(object sender, System.Windows.RoutedEventArgs e) {     HyperlinkButton button = sender as HyperlinkButton;     ProductSummary productSummary = button.Tag as ProductSummary;      Uri detailsUri = new Uri("ProductDetails/" + productSummary.ID.ToString(),                               UriKind.Relative);     NavigationService.Navigate(detailsUri); }

 

在弹出窗体打开细节视图

Silverlight内置的ChildWindow类是模态的弹出窗体,可以用于显示列表视图的细节内容。使用步骤如下:

1)使用Silverlight Child Window item template新建继承自ChildWindow类的窗体,可以在窗体中根据需要进行UI布局及数据绑定;一般应保留窗体上的OK、Cancel按钮;

2)在列表视图的模板里添加Button或HyperlinkButton按钮用于导航,在按钮的Click事件里添加如下代码:

HyperlinkButton button = sender as HyperlinkButton;//获取按钮对象 ProductSummary productSummary = button.Tag as ProductSummary;//获取详细信息对象  ProductDetailsWindow window = new ProductDetailsWindow(productSummary);//在弹出窗口的构造函数传入详细信息对象 window.Show(); //显示窗体
 

显示效果如下:

使用DataGrid控件的行细节显示特性显示细节内容

显示效果如下:

关键实现代码:

在此还可以对RowDetailsVisibilityMode属性进行设置以指定相关数据模板的显示模式,设置为VisibleWhenSelected表示只有选定的行才显示,设置为Visible表示所有的行都显示,设置为Collapsed表示从不显示。还可以使用RowDetailsVisibilityChanged事件处理行细节显示与隐藏的时机。

 

主/从视图的实现

主从视图通常在同一视图的不同部位显示,点击主视图的一条记录,在从视图就会显示出该记录的详细数据。实现这一功能的案例如下:

1)实现员工列表的显示

2)使用 Silverlight 工具包中的 DataForm 控件来提供数据的详细视图。默认情况下,Silverlight 业务应用程序项目模板将在 Libs 文件夹中包含 System.Windows.Controls.Data.DataForm.Toolkit.dll 二进制文件。

在前述文件中添加以下命名空间声明。xmlns:dataForm="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.DataForm.Toolkit"

3)在 DataPager 控件的后面,添加以下 XAML 以添加一个 DataForm 控件:

运行应用程序并单击“员工列表”链接。DataForm 将显示在 DataGrid 中的选定项的详细信息。

RIA_HRAppDataForm

转载于:https://www.cnblogs.com/qouoww/archive/2012/05/10/2494431.html

你可能感兴趣的文章
Myeclipse7.5 下载 安装 注冊 注冊码 100%成功
查看>>
Java拾遗(一):浅析Java子类和父类的实例化顺序 及 陷阱
查看>>
Windows网络编程
查看>>
混沌分形之朱利亚集(JuliaSet)
查看>>
读书心得:思考·后半本
查看>>
CreateFileMapping使用方法
查看>>
Android中Broadcast Receiver组件具体解释
查看>>
[转载]SQL Server的聚集索引和非聚集索引
查看>>
SSIS中Sql Task 获取系统变量
查看>>
linux dd命令实用详解
查看>>
android系统权限SET_PREFERRED_APPLICATIONS怎么获取
查看>>
Oracle 统计量NO_INVALIDATE参数配置(上)
查看>>
在ECSHOP后台的订单列表中显示配送方式
查看>>
Android Drawable
查看>>
微软职位内部推荐-Senior SDE
查看>>
Java Bigdecimal使用
查看>>
RabbitMQ三种Exchange模式(fanout,direct,topic)的性能比较
查看>>
[UI]抽屉菜单DrawerLayout分析(三)
查看>>
linux shell基础
查看>>
Android中的Animation 动画开发
查看>>