如何使用siverlight在GridView中合并列标题 [英] How to merge columns header in gridview ussing siverlight

查看:80
本文介绍了如何使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆