zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    总结Selenium自动化测试方法(二)测试环境搭建
    画画学习
    喜欢看的电影
    angular学习知识点
    前端编辑器
    托尔斯泰经典语录:没有风暴,船帆不过是一块破布
    当下最流行的10大H5前端框架
    移动端问题总纲
    第二阶段团队冲刺04
    第二阶段团队冲刺03
  • 原文地址:https://www.cnblogs.com/xiwang/p/2405593.html
Copyright © 2011-2022 走看看