Silverlight DataGrid 多重表头实现

Silverlight DataGrid 多重表头实现

时间:2011-11-04 23:51 来源:CSDN  作者:taomanman  点击:383次
controls:ChildWindowx:Class= FXHS.ShowSSXQList xmlns= http://schemas.microsoft.com/winfx/2006/xaml/presentation xmlns:x= http://schemas.microsoft.com/winfx/2006/xaml xmlns:sdk= http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk xmlns:controls=
  
< controls:ChildWindow x:Class= "FXHS.ShowSSXQList"
           xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
           xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml"  
           xmlns:sdk= "http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
           xmlns:controls= "clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"  
           Title= "实时险情列表"  FontSize= "15">
     <!--定义资源样式-->
    < controls:ChildWindow.Resources>
        < Style x:Key= "DataGridHeaderStyle"  TargetType= "sdk:DataGridColumnHeader">
            < Setter Property= "HorizontalContentAlignment"  Value= "Center">< /Setter>
        < /Style>
        < Style x:Key= "DataGridCellStyle"  TargetType= "sdk:DataGridCell">
            < Setter Property= "HorizontalContentAlignment"  Value= "Center"  >< /Setter>
        < /Style>
        < Style x:Key= "DataGridBaseHeaderStyle"  TargetType= "sdk:DataGridColumnHeader">
            < Setter Property= "FontWeight"  Value= "Normal"  />
        < /Style>

        < Style x:Key= "TimeSheetDayHeaderStyle"  
TargetType= "sdk:DataGridColumnHeader"  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= "#FFC9CACA" />
            < Setter Property= "Padding"  Value= "8" />
            < Setter Property= "Template">
                < Setter.Value>
                    < ControlTemplate>
                        < 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" />
                                        < /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" />
                                        < /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= "#FCFFFFFF"  Offset= "0.015" />
                                        < GradientStop Color= "#F7FFFFFF"  Offset= "0.375" />
                                        < GradientStop Color= "#E5FFFFFF"  Offset= "0.6" />
                                        < GradientStop Color= "#D1FFFFFF"  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= "100" />
                                    < ColumnDefinition Width= "1"  />
                                    < ColumnDefinition Width= "299" />
                                    < ColumnDefinition Width= "1"  />
                                    < ColumnDefinition Width= "199" />
                                < /Grid.ColumnDefinitions>
                                 <!-- 第0行 -->
                                < ContentPresenter Content= "险情类型"  Grid.Row= "0"  VerticalAlignment= "Center"
                                          HorizontalAlignment= "Center"  />
                                < Rectangle Fill= "#FFC9CACA"  VerticalAlignment= "Stretch"  Width= "1"  
                                   Visibility= "Visible"  Grid.Row= "0"  Grid.Column= "1"  />
                                < ContentPresenter Content= "险情标题"  Grid.Row= "0"  Grid.Column= "2"
                                          VerticalAlignment= "Center"  HorizontalAlignment= "Center"  />
                                < Rectangle Fill= "#FFC9CACA"  VerticalAlignment= "Stretch"  Width= "1"  
                                   Visibility= "Visible"  Grid.Row= "0"  Grid.Column= "3"  />
                                < ContentPresenter Content= "上传时间"  Grid.Row= "0"  Grid.Column= "4"
                                          VerticalAlignment= "Center"  HorizontalAlignment= "Center"  />
                                 <!-- 第一行 -->
                                < Rectangle Fill= "#FFC9CACA"  VerticalAlignment= "Stretch"  Height= "1"
                                   Visibility= "Visible"  Grid.Row= "1"  Grid.ColumnSpan= "5"  />
                                 <!-- 第二行 -->
                                < ContentPresenter Content= "险情描述"
                                          VerticalAlignment= "Center"  HorizontalAlignment= "Center"
                                          Grid.ColumnSpan= "5"  Grid.Row= "2"  />
                            < /Grid>
                            < Rectangle x:Name= "VerticalSeparator"  Fill= "#FFC9CACA"
                               VerticalAlignment= "Stretch"  Width= "1"  Visibility= "Visible"
                               Grid.Row= "1"  Grid.Column= "1" />
                        < /Grid>
                    < /ControlTemplate>
                < /Setter.Value>
            < /Setter>
        < /Style>
        < Style x:Key= "TimeSheetTotalsHeaderStyle"  
TargetType= "sdk:DataGridColumnHeader"  BasedOn= "{StaticResource TimeSheetDayHeaderStyle}">
            < Setter Property= "Foreground"  Value= "#FFFF0000" />
        < /Style>
    < /controls:ChildWindow.Resources>
    < Grid x:Name= "LayoutRoot"  Margin= "0"  Height= "400">
        < Grid.RowDefinitions>
            < RowDefinition />
            < RowDefinition Height= "Auto"  />
        < /Grid.RowDefinitions>
        < Grid x:Name= "gTop"  Height= "31"  VerticalAlignment= "Top" />
        < Grid x:Name= "gMiddle"  Margin= "0,31,0,25">
            < sdk:DataGrid Margin= "0"  AutoGenerateColumns= "False"  
x:Name= "dg"  LoadingRow= "dg_LoadingRow">
                < sdk:DataGrid.Columns>
                    < sdk:DataGridTemplateColumn Header= "序号"  
HeaderStyle= "{StaticResource DataGridHeaderStyle}"  Width= "60">
                        < sdk:DataGridTemplateColumn.CellTemplate>
                            < DataTemplate>
                                < TextBlock FontSize= "13"  
HorizontalAlignment= "Center"  VerticalAlignment= "Center">< /TextBlock>
                            < /DataTemplate>
                        < /sdk:DataGridTemplateColumn.CellTemplate>
                    < /sdk:DataGridTemplateColumn>
                    < sdk:DataGridTemplateColumn Header= "图片"  
HeaderStyle= "{StaticResource DataGridHeaderStyle}"  Width= "200">
                        < sdk:DataGridTemplateColumn.CellTemplate>
                            < DataTemplate>
                                < Grid>
                                    < Image x:Name= "Image1"  
Source= "{Binding 图片}">< /Image>
                                < /Grid>
                            < /DataTemplate>
                        < /sdk:DataGridTemplateColumn.CellTemplate>
                    < /sdk:DataGridTemplateColumn>
                    < sdk:DataGridTemplateColumn Header= "险情描述"  
HeaderStyle= "{StaticResource TimeSheetDayHeaderStyle}">
                        < sdk:DataGridTemplateColumn.CellTemplate>
                            < DataTemplate>
                                < Grid>
                                    < Grid.RowDefinitions>
                                        < RowDefinition Height= "0.2*">< /RowDefinition>
                                        < RowDefinition Height= "1">< /RowDefinition>
                                        < RowDefinition Height= "*">< /RowDefinition>
                                    < /Grid.RowDefinitions>
                                    < Grid.ColumnDefinitions>
                                        < ColumnDefinition  Width= "100">< /ColumnDefinition>
                                        < ColumnDefinition Width= "1">< /ColumnDefinition>
                                        < ColumnDefinition Width= "290">< /ColumnDefinition>
                                        < ColumnDefinition  Width= "1">< /ColumnDefinition>
                                        < ColumnDefinition Width= "199">< /ColumnDefinition>
                                    < /Grid.ColumnDefinitions>
                                    < TextBlock Text= "{Binding 灾情类型}"  FontSize= "14"  
                HorizontalAlignment= "Center"  Grid.Row= "0"  Grid.Column= "0" />
                                    < Rectangle 
                Fill= "#FFC9CACA"  VerticalAlignment= "Stretch"  Width= "1"  Grid.Row= "0"  Grid.Column= "1" />
                                    < TextBlock 
                Text= "{Binding 图片标题}"  HorizontalAlignment= "Center"  
                FontSize= "14"  Margin= "2,0,0,0"  Grid.Row= "0"  Grid.Column= "2" />
                                    < Rectangle 
                Fill= "#FFC9CACA"  VerticalAlignment= "Stretch"  
                Width= "1"  Grid.Row= "0"  Grid.Column= "3" />
                                    < TextBlock Text= "{Binding 上传时间}"  
                FontSize= "14"  HorizontalAlignment= "Center"  
                Margin= "2,0,0,0"  Grid.Row= "0"  Grid.Column= "4" />
                                     <!--内容行之间的横线-->
                                    < Rectangle 
                Fill= "#FFC9CACA"  VerticalAlignment= "Stretch"  Height= "1"
                                       Visibility= "Visible"  Grid.Row= "1"  Grid.ColumnSpan= "5"  />
                                    < TextBlock Text= "{Binding 备注}"  
                FontSize= "14"  Grid.Row= "2"  Grid.Column= "0"  
                Grid.ColumnSpan= "5"  TextWrapping= "Wrap">< /TextBlock>
                                < /Grid>
                            < /DataTemplate>
                        < /sdk:DataGridTemplateColumn.CellTemplate>
                    < /sdk:DataGridTemplateColumn>

                < /sdk:DataGrid.Columns>
            < /sdk:DataGrid>
        < /Grid>
        < Grid x:Name= "gBottom"  VerticalAlignment= "Bottom">
            < sdk:DataPager x:Name= "DataPager1"  
PageIndexChanged= "DataPager1_PageIndexChanged"  Height= "24"  
PageSize= "4"  DisplayMode= "FirstLastPreviousNext"  VerticalAlignment= "Bottom"  Margin= "0" />
        < /Grid>
    < /Grid>
< /controls:ChildWindow>

 

  如下界面

  

  本文来自taomanman的博客,原文地址:http://blog.csdn.net/taomanman/article/details/6936366

转载于:https://www.cnblogs.com/xiwang/archive/2012/03/19/2405593.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值