zoukankan      html  css  js  c++  java
  • 自定义表头Datagrid

    自定义的一个表头

      1 <bp:BasePage x:Class="NetReform.Pages.RealProbabiTableCompare"
      2         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      3         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      4           xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      5       xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      6       xmlns:local="clr-namespace:NetReform"
      7       xmlns:bp="clr-namespace:NetReform.Pages"
      8                mc:Ignorable="d" 
      9              xmlns:my="clr-namespace:WpfControls;assembly=WpfControls" 
     10         Title="RealProbabiTableCompare" >
     11     <Grid >
     12 
     13 
     14         <Grid.Resources>
     15 
     16             <!--背景色改变必须先设置cellStyle 因为cellStyle会覆盖rowStyle样式-->
     17             <Style  TargetType="DataGridRow">
     18                 <Setter Property="Background" Value="#F2F2F2" />
     19                 <Setter Property="Height" Value="25"/>
     20                 <Setter Property="Foreground" Value="Black" />
     21                 <Style.Triggers>
     22                     <!--隔行换色-->
     23                     <Trigger Property="AlternationIndex" Value="0" >
     24                         <Setter Property="Background" Value="#e7e7e7" />
     25                     </Trigger>
     26                     <Trigger Property="AlternationIndex" Value="1" >
     27                         <Setter Property="Background" Value="#f2f2f2" />
     28                     </Trigger>
     29 
     30                     <Trigger Property="IsMouseOver" Value="True">
     31                         <Setter Property="Background" Value="LightGray"/>
     32                         <!--<Setter Property="Foreground" Value="White"/>-->
     33                     </Trigger>
     34 
     35                     <Trigger Property="IsSelected" Value="True">
     36                         <Setter Property="Foreground" Value="Black"/>
     37                     </Trigger>
     38                 </Style.Triggers>
     39             </Style>
     40             <!--原来的样式-->
     41             <Style TargetType="TextBlock">
     42                 <Setter Property="HorizontalAlignment" Value="Center"/>
     43                 <Setter Property="VerticalAlignment" Value="Center"/>
     44                 <Setter Property="FontFamily" Value="Arial" />
     45                 <Setter Property="FontSize" Value="13" />
     46                 <Setter Property="Foreground" Value="#FFFAF0" />
     47             </Style>
     48 
     49             <Style x:Key="br_bgGray" TargetType="Border">
     50                 <Setter Property="Background" Value="#dbdbdb"/>
     51             </Style>
     52             
     53             <Style TargetType="Grid" x:Key="MyDataGrid">
     54                 <Setter Property="Background" >
     55                     <Setter.Value>
     56                         <!--垂直渐变-->
     57                         <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
     58                             <GradientStop Color="#555555" Offset="0.0"/>
     59                             <GradientStop Color="#111111" Offset="0.5"/>
     60                             <GradientStop Color="#555555" Offset="1.0"/>
     61                         </LinearGradientBrush>
     62                     </Setter.Value>
     63                 </Setter>
     64                 <Style.Triggers>
     65                     <Trigger Property="IsMouseOver" Value="True">
     66                         <Setter Property="Background" >
     67                             <Setter.Value>
     68                                 <!--垂直渐变-->
     69                                 <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
     70                                     <GradientStop Color="#FF111111" Offset="0.0"/>
     71                                     <GradientStop Color="#FF333333" Offset="1.0"/>
     72                                 </LinearGradientBrush>
     73                             </Setter.Value>
     74                         </Setter>
     75                     </Trigger>
     76                 </Style.Triggers>
     77             </Style>
     78 
     79         </Grid.Resources>
     80 
     81         <Grid.RowDefinitions>
     82             <RowDefinition Height="0" />
     83             <RowDefinition Height="35" />
     84             <RowDefinition Height="80"/>
     85             <RowDefinition Height="*"/>
     86             <RowDefinition Height="70"/>
     87         </Grid.RowDefinitions>
     88 
     89         <!--第一行-->
     90 
     91         <Label Content="概率预报对比" FontSize="20" Foreground="White" Grid.Row="1" Background="Gray"></Label>
     92 
     93 
     94             <!--第三行放表格头-->
     95         <Grid Margin="10,10,10,0" Grid.Row="2" Panel.ZIndex="2" Style="{StaticResource MyDataGrid}"  >
     96             <Grid.RowDefinitions>
     97                 <RowDefinition Height="4*" />
     98                 <RowDefinition Height="66*" />
     99             </Grid.RowDefinitions>
    100             <Grid.ColumnDefinitions>
    101                 <ColumnDefinition Width="4*"/>
    102                 <ColumnDefinition Width="8*"/>
    103                 <ColumnDefinition Width="16*"/>
    104                 <ColumnDefinition Width="13*"/>
    105                 <ColumnDefinition Width="18*"/>
    106                 <ColumnDefinition Width="16*"/>
    107                 <ColumnDefinition Width="20"/>
    108             </Grid.ColumnDefinitions>
    109             <Border BorderThickness="1" BorderBrush="Gray" CornerRadius="0" Grid.RowSpan="2">
    110                 <TextBlock HorizontalAlignment="Center" >ID</TextBlock>
    111             </Border>
    112             <Border Grid.Column="1"  BorderThickness="1" BorderBrush="Gray" CornerRadius="0" Grid.RowSpan="2">
    113                 <TextBlock HorizontalAlignment="Center" >Date</TextBlock>
    114             </Border>
    115 
    116 
    117 
    118             <Border Grid.Column="2" Grid.ColumnSpan="1" BorderThickness="1" BorderBrush="Gray" CornerRadius="0" Grid.RowSpan="2">
    119                 <Grid >
    120                     <Grid.RowDefinitions>
    121                         <RowDefinition />
    122                         <RowDefinition />
    123                     </Grid.RowDefinitions>
    124                     <Grid.ColumnDefinitions>
    125                         <ColumnDefinition />
    126                         <ColumnDefinition />
    127                         <ColumnDefinition />
    128                         <ColumnDefinition />
    129                     </Grid.ColumnDefinitions>
    130                     <Border Grid.Row="0" Grid.ColumnSpan="4" BorderThickness="0" BorderBrush="Gray" CornerRadius="0">
    131                         <TextBlock Grid.Row="0" Grid.ColumnSpan="2">太阳耀斑概率</TextBlock>
    132                     </Border>
    133                     <Border Grid.Row="1" Grid.Column="0"  BorderThickness="0,1,1,0" BorderBrush="Gray" CornerRadius="0">
    134                         <TextBlock Grid.Row="2" Grid.Column="0">obs</TextBlock>
    135                     </Border>
    136                     <Border  Grid.Row="1" Grid.Column="1" BorderThickness="0,1,0,0" BorderBrush="Gray" CornerRadius="0">
    137                         <TextBlock Grid.Row="2" Grid.Column="1">1d(%)</TextBlock>
    138                     </Border>
    139                     <Border  Grid.Row="1" Grid.Column="2"  BorderThickness="1,1,0,0" BorderBrush="Gray" CornerRadius="0">
    140                         <TextBlock Grid.Row="2" Grid.Column="1">2d(%)</TextBlock>
    141                     </Border>
    142                     <Border  Grid.Row="1" Grid.Column="3"  BorderThickness="1,1,0,0" BorderBrush="Gray" CornerRadius="0">
    143                         <TextBlock Grid.Row="2" Grid.Column="1">3d(%)</TextBlock>
    144                     </Border>
    145                 </Grid>
    146             </Border>
    147 
    148 
    149             <Border Grid.Column="3" Grid.ColumnSpan="1" BorderThickness="1" BorderBrush="Gray" CornerRadius="0" Grid.RowSpan="2">
    150                 <Grid >
    151                     <Grid.RowDefinitions>
    152                         <RowDefinition />
    153                         <RowDefinition />
    154                     </Grid.RowDefinitions>
    155                     <Grid.ColumnDefinitions>
    156                         <ColumnDefinition Width="4*" />
    157                         <ColumnDefinition Width="3*"/>
    158                         <ColumnDefinition Width="3*"/>
    159                         <ColumnDefinition Width="3*"/>
    160                     </Grid.ColumnDefinitions>
    161                     <Border Grid.Row="0" Grid.ColumnSpan="4" BorderThickness="0" BorderBrush="Gray" CornerRadius="0">
    162                         <TextBlock Grid.Row="0"  Grid.ColumnSpan="2">质子事件概率</TextBlock>
    163                     </Border>
    164                     <Border Grid.Row="1" Grid.Column="0"  BorderThickness="0,1,1,0" BorderBrush="Gray" CornerRadius="0">
    165                         <TextBlock Grid.Row="2"  Grid.Column="0">obs</TextBlock>
    166                     </Border>
    167                     <Border  Grid.Row="1" Grid.Column="1" BorderThickness="0,1,0,0" BorderBrush="Gray" CornerRadius="0">
    168                         <TextBlock Grid.Row="2" Grid.Column="1">1d(%)</TextBlock>
    169                     </Border>
    170                     <Border  Grid.Row="1" Grid.Column="2"  BorderThickness="1,1,0,0" BorderBrush="Gray" CornerRadius="0">
    171                         <TextBlock Grid.Row="2" Grid.Column="1">2d(%)</TextBlock>
    172                     </Border>
    173                     <Border  Grid.Row="1" Grid.Column="3"  BorderThickness="1,1,0,0" BorderBrush="Gray" CornerRadius="0">
    174                         <TextBlock Grid.Row="2" Grid.Column="1">3d(%)</TextBlock>
    175                     </Border>
    176                 </Grid>
    177             </Border>
    178 
    179             <Border Grid.Column="4" Grid.ColumnSpan="1" BorderThickness="1" BorderBrush="Gray" CornerRadius="0" Grid.RowSpan="2">
    180                 <Grid >
    181                     <Grid.RowDefinitions>
    182                         <RowDefinition />
    183                         <RowDefinition />
    184                     </Grid.RowDefinitions>
    185                     <Grid.ColumnDefinitions>
    186                         <ColumnDefinition Width="9*" />
    187                         <ColumnDefinition Width="3*" />
    188                         <ColumnDefinition Width="3*"/>
    189                         <ColumnDefinition Width="3*"/>
    190                     </Grid.ColumnDefinitions>
    191                     <Border Grid.Row="0" Grid.ColumnSpan="4" BorderThickness="0" BorderBrush="Gray" CornerRadius="0">
    192                         <TextBlock Grid.Row="0" Grid.ColumnSpan="2">地磁暴概率</TextBlock>
    193                     </Border>
    194                     <Border Grid.Row="1" Grid.Column="0"  BorderThickness="0,1,1,0" BorderBrush="Gray" CornerRadius="0">
    195                         <TextBlock Grid.Row="2" Grid.Column="0">obs</TextBlock>
    196                     </Border>
    197                     <Border  Grid.Row="1" Grid.Column="1" BorderThickness="0,1,0,0" BorderBrush="Gray" CornerRadius="0">
    198                         <TextBlock Grid.Row="2" Grid.Column="1">1d(%)</TextBlock>
    199                     </Border>
    200                     <Border  Grid.Row="1" Grid.Column="2"  BorderThickness="1,1,0,0" BorderBrush="Gray" CornerRadius="0">
    201                         <TextBlock Grid.Row="2" Grid.Column="1">2d(%)</TextBlock>
    202                     </Border>
    203                     <Border  Grid.Row="1" Grid.Column="3"  BorderThickness="1,1,0,0" BorderBrush="Gray" CornerRadius="0">
    204                         <TextBlock Grid.Row="2" Grid.Column="1">3d(%)</TextBlock>
    205                     </Border>
    206                 </Grid>
    207             </Border>
    208 
    209 
    210             <Border Grid.Column="5" Grid.ColumnSpan="1" BorderThickness="1" BorderBrush="Gray" CornerRadius="0" Grid.RowSpan="2">
    211                 <Grid >
    212                     <Grid.RowDefinitions>
    213                         <RowDefinition />
    214                         <RowDefinition />
    215                     </Grid.RowDefinitions>
    216                     <Grid.ColumnDefinitions>
    217                         <ColumnDefinition />
    218                         <ColumnDefinition />
    219                         <ColumnDefinition />
    220                         <ColumnDefinition />
    221                     </Grid.ColumnDefinitions>
    222                     <Border Grid.Row="0" Grid.ColumnSpan="4" BorderThickness="0" BorderBrush="Gray" CornerRadius="0">
    223                         <TextBlock Grid.Row="0" Grid.ColumnSpan="2">高能电子暴概率</TextBlock>
    224                     </Border>
    225                     <Border Grid.Row="1" Grid.Column="0"  BorderThickness="0,1,1,0" BorderBrush="Gray" CornerRadius="0">
    226                         <TextBlock Grid.Row="2" Grid.Column="0">obs</TextBlock>
    227                     </Border>
    228                     <Border  Grid.Row="1" Grid.Column="1" BorderThickness="0,1,0,0" BorderBrush="Gray" CornerRadius="0">
    229                         <TextBlock Grid.Row="2" Grid.Column="1">1d(%)</TextBlock>
    230                     </Border>
    231                     <Border  Grid.Row="1" Grid.Column="2"  BorderThickness="1,1,0,0" BorderBrush="Gray" CornerRadius="0">
    232                         <TextBlock Grid.Row="2" Grid.Column="1">2d(%)</TextBlock>
    233                     </Border>
    234                     <Border  Grid.Row="1" Grid.Column="3"  BorderThickness="1,1,0,0" BorderBrush="Gray" CornerRadius="0">
    235                         <TextBlock Grid.Row="2" Grid.Column="1">3d(%)</TextBlock>
    236                     </Border>
    237                 </Grid>
    238             </Border>
    239 
    240         </Grid>
    241 
    242         <!--第四行放数据-->
    243 
    244         <DataGrid Grid.Row="3"  Background="LightGray" Name="dg1" Margin="10,-27,10,0" Grid.Column="0" Grid.RowSpan="1" ItemsSource="{Binding}" AutoGenerateColumns="False"  CanUserAddRows="False" HorizontalScrollBarVisibility="Disabled"  AlternationCount="2" AreRowDetailsFrozen="True"  RowHeaderWidth="10" HeadersVisibility="Column" IsReadOnly="True"  HorizontalGridLinesBrush="LightGray" VerticalGridLinesBrush="LightGray" Foreground="#FF9C9D9D"  BorderBrush="Black" VerticalScrollBarVisibility="Visible">
    245            
    246                 <DataGrid.CellStyle>
    247                 <Style TargetType="DataGridCell">
    248                     <Setter Property="Height" Value="30" />
    249                     <Setter Property="Foreground" Value="Black" />
    250                     <!--datagrid 垂直居中、水平左对齐 -->
    251                     <Setter Property="Template">
    252                         <Setter.Value>
    253                             <ControlTemplate TargetType="{x:Type DataGridCell}">
    254                                 <Grid Background="{TemplateBinding Background}">
    255                                     <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
    256                                 </Grid>
    257                             </ControlTemplate>
    258                         </Setter.Value>
    259                     </Setter>
    260                     <!--datagrid 设置选中行的背景色 -->
    261                     <Style.Triggers >
    262                         <Trigger Property="IsSelected" Value="True">
    263                             <Setter Property="Background" Value="#00B0C4DE"></Setter>
    264                         </Trigger>
    265                     </Style.Triggers>
    266                 </Style>
    267             </DataGrid.CellStyle>
    268             <DataGrid.Columns>
    269                 <!--ID列-->
    270                 <DataGridTemplateColumn Header="ID" Width="4*">
    271                     <DataGridTemplateColumn.CellTemplate>
    272                         <DataTemplate >
    273                             <Border Height="30" Width="200">
    274                                 <TextBlock Foreground="Gray" FontSize="16" Height="30" FontFamily="Microsoft YaHei"  HorizontalAlignment="Left" Margin="9,5,0,0"      Background="Transparent" Text="{Binding ID}"/>
    275                             </Border>
    276                         </DataTemplate>
    277                     </DataGridTemplateColumn.CellTemplate>
    278                 </DataGridTemplateColumn>
    279                 <!--时间列-->
    280                 <DataGridTextColumn Header="Date" FontSize="16" Binding="{Binding dayTime}" Width="8*" Foreground="Gray" FontFamily="Microsoft YaHei">
    281                 </DataGridTextColumn>
    282 
    283                 <!--<DataGridTextColumn Header="CNum" FontSize="12"  Binding="{Binding value}" Width="4*" Foreground="Gray"  FontFamily="Microsoft YaHei">
    284                     
    285                 </DataGridTextColumn>-->
    286                 <DataGridTemplateColumn Header="obs" Width="4*" >
    287                     <DataGridTemplateColumn.CellTemplate>
    288                         <DataTemplate >
    289                             <Border Height="30" Width="200" Style="{StaticResource ResourceKey=br_bgGray}">
    290                                 <TextBlock Foreground="Gray" FontSize="16" Height="30" FontFamily="Microsoft YaHei"  HorizontalAlignment="Left" Margin="9,5,0,0"      Background="Transparent" Text="{Binding value}"/>
    291                             </Border>
    292                         </DataTemplate>
    293                     </DataGridTemplateColumn.CellTemplate>
    294                 </DataGridTemplateColumn>
    295                 <DataGridTextColumn Header="1d" FontSize="16" Binding="{Binding pre1}" Width="4*" Foreground="Gray" FontFamily="Microsoft YaHei">
    296                 </DataGridTextColumn>
    297                 <DataGridTextColumn Header="2d" FontSize="16" Binding="{Binding pre2}" Width="4*" Foreground="Gray" FontFamily="Microsoft YaHei">
    298                 </DataGridTextColumn>
    299                 <DataGridTextColumn Header="3d" FontSize="16" Binding="{Binding pre3}" Width="4*" Foreground="Gray" FontFamily="Microsoft YaHei">
    300                 </DataGridTextColumn>
    301 
    302                 <!--kp列要更改的位置就是这里-->
    303                 <!--<DataGridTextColumn Header="CNum" FontSize="12" Binding="{Binding valueu}" Width="4*" Foreground="Gray" FontFamily="Microsoft YaHei">
    304                 </DataGridTextColumn>-->
    305 
    306                 <DataGridTemplateColumn Header="obs" Width="4*" >
    307                     <DataGridTemplateColumn.CellTemplate>
    308                         <DataTemplate >
    309                             <Border Height="30" Width="200" Style="{StaticResource ResourceKey=br_bgGray}">
    310                                 <TextBlock Foreground="Gray" FontSize="16" Height="30" FontFamily="Microsoft YaHei"  HorizontalAlignment="Left" Margin="9,5,0,0"      Background="Transparent" Text="{Binding valueu}"/>
    311                             </Border>
    312                         </DataTemplate>
    313                     </DataGridTemplateColumn.CellTemplate>
    314                 </DataGridTemplateColumn>
    315                 <DataGridTextColumn Header="1d" FontSize="16" Binding="{Binding pre1u}" Width="3*" Foreground="Gray" FontFamily="Microsoft YaHei">
    316                 </DataGridTextColumn>
    317                 <DataGridTextColumn Header="2d" FontSize="16" Binding="{Binding pre2u}" Width="3*" Foreground="Gray" FontFamily="Microsoft YaHei">
    318                 </DataGridTextColumn>
    319                 <DataGridTextColumn Header="3d" FontSize="16" Binding="{Binding pre3u}" Width="3*" Foreground="Gray" FontFamily="Microsoft YaHei">
    320                 </DataGridTextColumn>
    321 
    322 
    323                 <!--<DataGridTextColumn Header="CNum" FontSize="12" Binding="{Binding valuem}" Width="7*" Foreground="Gray" FontFamily="Microsoft YaHei">
    324                 </DataGridTextColumn>-->
    325                 <DataGridTemplateColumn Header="obs" Width="9*" >
    326                     <DataGridTemplateColumn.CellTemplate>
    327                         <DataTemplate >
    328                             <Border Height="30" Width="200" Style="{StaticResource ResourceKey=br_bgGray}">
    329                                 <TextBlock Foreground="Gray" FontSize="16" Height="30" FontFamily="Microsoft YaHei"  HorizontalAlignment="Left" Margin="9,5,0,0"      Background="Transparent" Text="{Binding valuem}"/>
    330                             </Border>
    331                         </DataTemplate>
    332                     </DataGridTemplateColumn.CellTemplate>
    333                 </DataGridTemplateColumn>
    334                 
    335                 <DataGridTextColumn Header="1d" FontSize="16" Binding="{Binding pre1m}" Width="3*" Foreground="Gray" FontFamily="Microsoft YaHei">
    336                 </DataGridTextColumn>
    337                 <DataGridTextColumn Header="2d" FontSize="16" Binding="{Binding pre2m}" Width="3*" Foreground="Gray" FontFamily="Microsoft YaHei">
    338                 </DataGridTextColumn>
    339                 <DataGridTextColumn Header="3d" FontSize="16" Binding="{Binding pre3m}" Width="3*" Foreground="Gray" FontFamily="Microsoft YaHei">
    340                 </DataGridTextColumn>
    341 
    342 
    343                 <!--<DataGridTextColumn Header="CNum" FontSize="12" Binding="{Binding valuec}" Width="4*" Foreground="Gray" FontFamily="Microsoft YaHei">
    344                 </DataGridTextColumn>-->
    345                 <DataGridTemplateColumn Header="obs" Width="4*" >
    346                     <DataGridTemplateColumn.CellTemplate>
    347                         <DataTemplate >
    348                             <Border Height="30" Width="200" Style="{StaticResource ResourceKey=br_bgGray}">
    349                                 <TextBlock Foreground="Gray" FontSize="16" Height="30" FontFamily="Microsoft YaHei"  HorizontalAlignment="Left" Margin="9,5,0,0"      Background="Transparent" Text="{Binding valuec}"/>
    350                             </Border>
    351                         </DataTemplate>
    352                     </DataGridTemplateColumn.CellTemplate>
    353                 </DataGridTemplateColumn>
    354                 
    355                 <DataGridTextColumn Header="1d" FontSize="16" Binding="{Binding pre1c}" Width="4*" Foreground="Gray" FontFamily="Microsoft YaHei">
    356                 </DataGridTextColumn>
    357                 <DataGridTextColumn Header="2d" FontSize="16" Binding="{Binding pre2c}" Width="4*" Foreground="Gray" FontFamily="Microsoft YaHei">
    358                 </DataGridTextColumn>
    359                 <DataGridTextColumn Header="3d" FontSize="16" Binding="{Binding pre3c}" Width="4*" Foreground="Gray" FontFamily="Microsoft YaHei">
    360                 </DataGridTextColumn>
    361 
    362 
    363             </DataGrid.Columns>
    364         </DataGrid>
    365 
    366 
    367 
    368         <!--第五行放数据处理后的值-->
    369         <StackPanel Grid.Row="4" Orientation="Horizontal" HorizontalAlignment="Center">
    370             <Label  Content="From:"  HorizontalContentAlignment="Right" Style="{StaticResource QueryLabel}"></Label>
    371             <DatePicker Width="90" Height="25" x:Name="Dp_Start"  BorderThickness="1"  HorizontalAlignment="Center"  VerticalContentAlignment="Center" />
    372 
    373             <Label  Content="To:"  HorizontalContentAlignment="Right" Style="{StaticResource QueryLabel}"></Label>
    374             <DatePicker Width="90" Height="25" x:Name="Dp_End"  BorderThickness="1"  HorizontalAlignment="Center"  VerticalContentAlignment="Center" />
    375             <Button  Name="Bt_CheckCurr" Style="{StaticResource Button_Image}"  Width="38" Height="38"  HorizontalAlignment="Left" ToolTip="查询"  >
    376                 <Image Source="/NetReform;component/Images/Search.png" Width="35" Height="35" />
    377             </Button>
    378         </StackPanel>
    379     </Grid>
    380 </bp:BasePage>
  • 相关阅读:
    使用VS进入源码调试
    Nlog配置
    一个极简的爬虫
    简单的调用图灵机器人
    docker部署netcore项目 nginx负载均衡
    windows nginx负载均衡
    windows服务器环境配置redis sentinel部署
    ASP.NET资源大全-知识分享
    ABP动态生成WebAPI
    windows服务器环境下安装redis
  • 原文地址:https://www.cnblogs.com/ants_double/p/5365036.html
Copyright © 2011-2022 走看看