如何使用siverlight在GridView中合并列标题 [英] How to merge columns header in gridview ussing siverlight
本文介绍了如何使用siverlight在GridView中合并列标题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想将这些列标题gridview合并为excel中的合并列,如果您有示例,则更好
I want to merge those columns header gridview as meger columns in excel, it is better if you have example
Thank you so murch.
推荐答案
在telerik在他们的数据网格中实现此功能之前,我使用了一种样式:
Before telerik implemented this in their datagrid, I use a style to do this:
<style x:key="DataGridBaseHeaderStyle" targettype="dataprimitives:DataGridColumnHeader" xmlns:x="#unknown">
<setter property="FontWeight" value="Bold" />
</style>
<style x:key="MinMaxDayHeaderStyle" targettype="dataprimitives:DataGridColumnHeader" xmlns:x="#unknown">
BasedOn="{StaticResource DataGridBaseHeaderStyle}" >
<setter property="Foreground" value="#FF000000" />
<setter property="HorizontalContentAlignment" value="Left" />
<setter property="VerticalContentAlignment" value="Center" />
<setter property="IsTabStop" value="False" />
<setter property="SeparatorBrush" value="#FF96bbfd" />
<setter property="Padding" value="8" />
<setter property="Template">
<setter.value>
<controltemplate targettype="dataprimitives:DataGridColumnHeader">
<grid x:name="Root">
<grid.columndefinitions>
<columndefinition />
<columndefinition width="auto" />
</grid.columndefinitions>
<visualstatemanager.visualstategroups>
<visualstategroup x:name="CommonStates">
<visualstate x:name="Normal" />
<visualstate x:name="MouseOver">
<storyboard>
<coloranimation duration="0">
Storyboard.TargetName="BackgroundRectangle"
Storyboard.TargetProperty="(Fill).Color" To="#FF448DCA"/>
<coloranimation duration="0">
Storyboard.TargetName="BackgroundGradient"
Storyboard.TargetProperty="(Fill).(GradientStops)[3].Color" To="#7FFFFFFF"/>
<coloranimation duration="0">
Storyboard.TargetName="BackgroundGradient"
Storyboard.TargetProperty="(Fill).(GradientStops)[2].Color" To="#CCFFFFFF"/>
<coloranimation duration="0">
Storyboard.TargetName="BackgroundGradient"
Storyboard.TargetProperty="(Fill).(GradientStops)[1].Color" To="#F2FFFFFF"/>
</coloranimation></coloranimation></coloranimation></coloranimation></storyboard>
</visualstate>
<visualstate x:name="Pressed">
<storyboard>
<coloranimation duration="0">
Storyboard.TargetName="BackgroundRectangle"
Storyboard.TargetProperty="(Fill).Color" To="#FF448DCA"/>
<coloranimation duration="0">
Storyboard.TargetName="BackgroundGradient"
Storyboard.TargetProperty="(Fill).(GradientStops)[0].Color" To="#D8FFFFFF"/>
<coloranimation duration="0">
Storyboard.TargetName="BackgroundGradient"
Storyboard.TargetProperty="(Fill).(GradientStops)[1].Color" To="#C6FFFFFF"/>
<coloranimation duration="0">
Storyboard.TargetName="BackgroundGradient"
Storyboard.TargetProperty="(Fill).(GradientStops)[2].Color" To="#8CFFFFFF"/>
<coloranimation duration="0">
Storyboard.TargetName="BackgroundGradient"
Storyboard.TargetProperty="(Fill).(GradientStops)[3].Color" To="#3FFFFFFF"/>
</coloranimation></coloranimation></coloranimation></coloranimation></coloranimation></storyboard>
</visualstate>
</visualstategroup>
<visualstategroup x:name="SortStates">
<visualstate x:name="Unsorted" />
<visualstate x:name="SortAscending" />
<visualstate x:name="SortDescending" />
</visualstategroup>
</visualstatemanager.visualstategroups>
<rectangle x:name="BackgroundRectangle" fill="#FF1F3B53" stretch="Fill" grid.columnspan="2" />
<rectangle x:name="BackgroundGradient" stretch="Fill" grid.columnspan="2">
<rectangle.fill>
<lineargradientbrush endpoint=".7,1" startpoint=".7,0">
<gradientstop color="#FCc6defe" offset="0.015" />
<gradientstop color="#F7c6defe" offset="0.375" />
<gradientstop color="#E5c6defe" offset="0.6" />
<gradientstop color="#D1c6defe" offset="1" />
</lineargradientbrush>
</rectangle.fill>
</rectangle>
<grid>
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
<grid.rowdefinitions>
<rowdefinition height="20" />
<rowdefinition height="1" />
<rowdefinition height="20" />
</grid.rowdefinitions>
<grid.columndefinitions>
<columndefinition width="30" />
<columndefinition width="1" />
<columndefinition width="30" />
</grid.columndefinitions>
<!-- Row 0 -->
<contentpresenter content="{TemplateBinding Content}">
VerticalAlignment="Center" HorizontalAlignment="Center"
Grid.ColumnSpan="3" />
<!-- Row 1 -->
<rectangle fill="#FF96bbfd" verticalalignment="Stretch" height="1">
Visibility="Visible" Grid.Row="1" Grid.ColumnSpan="3" />
<!-- Row 2 -->
<contentpresenter content="Min" grid.row="2" verticalalignment="Center">
HorizontalAlignment="Center" />
<rectangle fill="#FF96bbfd" verticalalignment="Stretch" width="1">
Visibility="Visible" Grid.Row="2" Grid.Column="1" />
<contentpresenter content="Max" grid.row="2" grid.column="2">
VerticalAlignment="Center" HorizontalAlignment="Center" />
</contentpresenter></rectangle></contentpresenter></rectangle></contentpresenter></grid>
<rectangle x:name="VerticalSeparator" fill="#FF96bbfd">
VerticalAlignment="Stretch" Width="1" Visibility="Visible"
Grid.Row="1" Grid.Column="1"/>
</rectangle></grid>
</controltemplate>
</setter.value>
</setter>
</style>
这篇关于如何使用siverlight在GridView中合并列标题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文