继续聊WPF——设置网格控件列标题的样式
来源:互联网 发布:seo区综合查询 编辑:程序博客网 时间:2024/05/21 12:39
我很奇怪的是,微软那厮是怎么搞的,Blend里面居然不能编辑GridView的样式,十万般无奈之下,只好手写XAML来处理了。
要想知道一个控件的样式是如何设置,看控件类的定义很重要,我们来看看GridView是如何定义的:
[StyleTypedPropertyAttribute(Property = "ColumnHeaderContainerStyle", StyleTargetType = typeof(GridViewColumnHeader))][ContentPropertyAttribute("Columns")]public class GridView : ViewBase, IAddChild
从上面的定义中找到两个关键点:
一、设置列标题的样式的属性——ColumnHeaderContainerStyle;
二、目标类型——GridViewColumnHeader
好,有了这些信息,我们就好办了,把样式定义到资源中
<Window.Resources> <Style x:Key="st" TargetType="GridViewColumnHeader"> <Style.Setters> <Setter Property="Background"> <Setter.Value> <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1"> <GradientStop Color="White" Offset="0"/> <GradientStop Color="Orange" Offset="1"/> </LinearGradientBrush> </Setter.Value> </Setter> </Style.Setters> </Style> <c:Emps x:Key="epc" /> </Window.Resources>
接着我们定义ListView,把样式应用到Gridview的ColumnHeaderContainerStyle属性上。
<ListView ItemsSource="{Binding Source={StaticResource epc}}"> <ListView.View> <GridView AllowsColumnReorder="True" ColumnHeaderContainerStyle="{StaticResource st}"> <GridViewColumn DisplayMemberBinding="{Binding Path=Name}" Header="员工姓名"/> <GridViewColumn DisplayMemberBinding="{Binding Path=Age}" Header="员工年龄"/> </GridView> </ListView.View> </ListView>
- 继续聊WPF——设置网格控件列标题的样式
- 继续聊WPF——设置网格控件列标题的样式
- 继续聊WPF——为ListView的行设置样式
- 继续聊WPF——为ListView的行设置样式
- 继续聊WPF——Thumb控件
- 继续聊WPF——BulletDecorator控件
- 继续聊WPF——Slider控件
- 继续聊WPF——Expander控件
- 继续聊WPF——Thumb控件
- WPF设置DataGrid列的标题格式
- 继续发布VS2005下DataGridView 的多种样式列控件
- 继续聊WPF——自定义CheckBox控件外观
- 继续聊WPF——Expander控件(1)
- 继续聊WPF——Expander控件(2)
- 继续聊WPF——Expander控件(2)
- 继续聊WPF——Expander控件(1)
- 继续聊WPF——自定义CheckBox控件外观
- wpf动态设置控件样式
- 解决request中文乱码的问题
- 私有云vs公有云vs混合云
- OSG的优点
- Delphi从应用程序资源中直接执行dll(不用先把dll存到磁盘上)
- TagSupport类的生命周期
- 继续聊WPF——设置网格控件列标题的样式
- xstream转换Map和List
- JSP开发模式
- 《Windows高级调试》分析(二)
- struts2标签使用详解
- jsp标签
- xampp apache 无法启动
- C#中GroupBox控件的使用
- php 在 控制 mysql 事务中的方法