继续聊WPF——设置网格控件列标题的样式
2011-11-08 08:30
579 查看
我很奇怪的是,微软那厮是怎么搞的,Blend里面居然不能编辑GridView的样式,十万般无奈之下,只好手写XAML来处理了。
要想知道一个控件的样式是如何设置,看控件类的定义很重要,我们来看看GridView是如何定义的:
[StyleTypedPropertyAttribute(Property="ColumnHeaderContainerStyle",StyleTargetType=typeof(GridViewColumnHeader))][ContentPropertyAttribute("Columns")]publicclassGridView:ViewBase,IAddChild
[/code]
<Window.Resources>
<Stylex:Key="st"TargetType="GridViewColumnHeader">
<Style.Setters>
<SetterProperty="Background">
<Setter.Value>
<LinearGradientBrushStartPoint="0.5,0"EndPoint="0.5,1">
<GradientStopColor="White"Offset="0"/>
<GradientStopColor="Orange"Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style.Setters>
</Style>
<c:Empsx:Key="epc"/>
</Window.Resources>
[/code]
要想知道一个控件的样式是如何设置,看控件类的定义很重要,我们来看看GridView是如何定义的:
[/code]
从上面的定义中找到两个关键点:
一、设置列标题的样式的属性——ColumnHeaderContainerStyle;
二、目标类型——GridViewColumnHeader
好,有了这些信息,我们就好办了,把样式定义到资源中
[/code]
接着我们定义ListView,把样式应用到Gridview的ColumnHeaderContainerStyle属性上。
<ListViewItemsSource="{BindingSource={StaticResourceepc}}">
<ListView.View>
<GridViewAllowsColumnReorder="True"ColumnHeaderContainerStyle="{StaticResourcest}">
<GridViewColumnDisplayMemberBinding="{BindingPath=Name}"Header="员工姓名"/>
<GridViewColumnDisplayMemberBinding="{BindingPath=Age}"Header="员工年龄"/>
</GridView>
</ListView.View>
</ListView>
相关文章推荐
- 继续聊WPF——设置网格控件列标题的样式
- 继续聊WPF——设置网格控件列标题的样式
- 继续聊WPF——设置网格控件列标题的样式
- WPF:DataTemplateSelector设置控件不同的样式
- [WPF]为控件中的焦点设置样式以及 FocusVisualStyle
- 继续聊WPF——为ListView的行设置样式
- 继续聊WPF——为ListView的行设置样式
- wpf动态设置控件样式
- 继续聊WPF——为ListView的行设置样式
- 让WPF的TextBox控件可以使用System.Windows.Forms.FontDialog设置样式
- 自己实现的数据表格控件(dataTable),支持自定义样式和标题数据、ajax等各种自定义设置以及分页自定义
- 继续聊WPF——为ListView的行设置样式
- WPF:动态加载控件并设置样式
- wpf中给控件设置样式的三种方式
- Wpf 动态添加控件设置样式
- WPF设置控件获取键盘焦点时的样式FocusVisualStyle
- wpf 中DataGrid 控件的样式设置及使用
- WPF设置全局控件样式
- android numberpicker控件的布局在没有标题情况下设置3.0新样式方法
- WPF后台设置xaml控件的样式System.Windows.Style