WEB开发网
开发学院图形图像Flash Silverlight学习笔记三:如何自定义DataGrid的Hea... 阅读

Silverlight学习笔记三:如何自定义DataGrid的Header

 2008-12-30 11:53:52 来源:WEB开发网   
核心提示:接上篇,继续学习DataGrid,Silverlight学习笔记三:如何自定义DataGrid的Header,下面我来学习DataGrid的Header的自定义功能,在上篇中,而是要用中文来显示,代码不是太复杂,我们实现的对Grid的排序,但是用的是Grid自动生产的Header

接上篇,继续学习DataGrid。下面我来学习DataGrid的Header的自定义功能。

在上篇中,我们实现的对Grid的排序,但是用的是Grid自动生产的Header,现在我们用自定义的控件来代替系统自动生成的Header,并且在Header下面添加一个可以对数据进行过滤的功能。

在这里我参考了silverlight.net上一群牛人的代码。

因为过去没有用过silverlight,在silverlight.net上听说在2.0RC出来之前,自定义ColumnHeader很容易,只需要设置Column.Header为某个控件就可以了,但是现在全变了,Column.Header变成了表头的内容了,要更改Header,必须用做一个新的Style,赋给Column.HeaderStyle。不是太明白微软问什么要这样做,把一个简单的问题搞的很复杂,对一个新手来说,做一个Style真的很费事。按照字面的意思,我认为Style应该是用来控制控件的展现方式,有点像 WEB 上的 CSS ,但是这里的Style不但可以控制如何展示控件,还要设置用什么控件,如何绑定数据,甚至还是事件的处理等等,感觉像个像个自定义控件,但是又没有自定义控件好用。

好了,废话不说了,先看效果:

Silverlight学习笔记三:如何自定义DataGrid的Header

具体实现的过程:

第一步,我们要做一个新的ColumnHeader。这里直接用来silverlight.net上一位高手的代码,并且做了扩展,主要是添加了Header的点击事件和过滤框的事件,

以及一个新的属性用来保存字段名。应为在实际的项目中,我们不可能在Grid上直接显示数据库的字段名,而是要用中文来显示。代码不是太复杂,就不做解释了。

GridHeader.cs

1 2 3 4 5  下一页

Tags:Silverlight 学习 笔记

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接