zoukankan      html  css  js  c++  java
  • wpf datagrid 添加行号 显示

    xaml页  可以在行号的列头 上加 序号

    <DataGrid x:Name="dataGrid" AutoGenerateColumns="False" FontSize="14" RowHeaderWidth="40"
    SelectionMode="Single" CanUserAddRows="False" ItemsSource="{Binding}" LoadingRow="dataGridBook_LoadingRow">
     <DataGrid.Resources>
    <!--Control colors.-->
    <Color x:Key="ControlLightColor">White</Color>
     <Color x:Key="ControlMediumColor">#FF7381F9</Color>
     <Color x:Key="GlyphColor">#FF444444</Color>
     <Color x:Key="BorderLightColor">#FFCCCCCC</Color>
     <Color x:Key="BorderMediumColor">#FF888888</Color>
     <Color x:Key="ControlMouseOverColor">#FF3843C4</Color>
     <Color x:Key="ControlPressedColor">#FF211AA9</Color>
    
    
     <Style TargetType="{x:Type Button}"
    x:Key="{ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle,
    TypeInTargetAssembly={x:Type DataGrid}}">
     <Setter Property="Template">
     <Setter.Value>
     <ControlTemplate TargetType="{x:Type Button}">
     <Grid>
     <VisualStateManager.VisualStateGroups>
     <VisualStateGroup x:Name="CommonStates">
     <VisualState x:Name="Normal" />
     <VisualState x:Name="MouseOver">
     <Storyboard>
     <ColorAnimationUsingKeyFrames Storyboard.TargetName="Border"
    Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)[1].(GradientStop.Color)">
     <EasingColorKeyFrame KeyTime="0"
    Value="{StaticResource ControlMouseOverColor}" />
     </ColorAnimationUsingKeyFrames>
     </Storyboard>
     </VisualState>
     <VisualState x:Name="Pressed">
     <Storyboard>
     <ColorAnimationUsingKeyFrames Storyboard.TargetName="Border"
    Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)[1].(GradientStop.Color)">
     <EasingColorKeyFrame KeyTime="0"
    Value="{StaticResource ControlPressedColor}" />
     </ColorAnimationUsingKeyFrames>
     </Storyboard>
     </VisualState>
     <VisualState x:Name="Disabled">
     <Storyboard>
     <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)"
    Storyboard.TargetName="Arrow">
     <DiscreteObjectKeyFrame KeyTime="0"
    Value="{x:Static Visibility.Collapsed}" />
     </ObjectAnimationUsingKeyFrames>
     </Storyboard>
     </VisualState>
     </VisualStateGroup>
     </VisualStateManager.VisualStateGroups>
     <Rectangle x:Name="Border" SnapsToDevicePixels="True">
     <Rectangle.Stroke>
     <LinearGradientBrush EndPoint="0.5,1"
    StartPoint="0.5,0">
     <GradientStop Color="{DynamicResource BorderLightColor}"
    Offset="0" />
     <GradientStop Color="{DynamicResource BorderMediumColor}"
    Offset="1" />
     </LinearGradientBrush>
     </Rectangle.Stroke>
     <Rectangle.Fill>
     <LinearGradientBrush EndPoint="0.5,1"
    StartPoint="0.5,0">
     <GradientStop Color="{DynamicResource ControlLightColor}"
    Offset="0" />
     <GradientStop Color="{DynamicResource ControlMediumColor}"
    Offset="1" />
     </LinearGradientBrush>
     </Rectangle.Fill>
     </Rectangle>
     <Polygon x:Name="Arrow"
    HorizontalAlignment="Right"
    Margin="8,8,3,3"
    Opacity="0.15"
    Points="0,10 10,10 10,0"
    Stretch="Uniform"
    VerticalAlignment="Bottom">
     <Polygon.Fill>
     <SolidColorBrush Color="{DynamicResource GlyphColor}" />
     </Polygon.Fill>
     </Polygon>
     <TextBlock Text="序号" VerticalAlignment="Center" HorizontalAlignment="Center" ></TextBlock>
     </Grid>
     </ControlTemplate>
     </Setter.Value>
     </Setter>
     </Style>
     </DataGrid.Resources>
     <DataGrid.RowHeaderTemplate>
    
    
     <DataTemplate>
     <TextBlock HorizontalAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type DataGridRow}}, Path=Header}">
     </TextBlock>
     </DataTemplate>
     </DataGrid.RowHeaderTemplate>
     <DataGrid.Columns>
    
    
     <DataGridTemplateColumn>
     <DataGridTemplateColumn.Header>
     <CheckBox Content="全 选" x:Name="cBox_All_book" Click="cBox_All_book_Click"></CheckBox>
     </DataGridTemplateColumn.Header>
    
    
     <DataGridTemplateColumn.CellTemplate>
     <DataTemplate>
     <CheckBox HorizontalAlignment="Center" VerticalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" IsChecked="{Binding Path=IsChecked,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"></CheckBox>
     </DataTemplate>
     </DataGridTemplateColumn.CellTemplate>
     </DataGridTemplateColumn>
     <DataGridTextColumn Header="页" Binding="{Binding bookValueGrid}" MinWidth="120" IsReadOnly="True" ></DataGridTextColumn>
    
    
    
    
    
    
     </DataGrid.Columns>
    </DataGrid>

    .cs文件

    private void dataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
     {
     e.Row.Header = e.Row.GetIndex() + 1;
     }

    显示结果

    image

  • 相关阅读:
    正则表达式速查表
    Python第三方库管理Anaconda
    Python3.x和Python2.x的区别
    python 学习 “笨办法学python”(随书补充)
    python 中文输入的注意事项
    mongodb update 字符 操作(补充)
    mongodb update 字符 操作
    04.视频播放器通用架构实践
    05.视频播放器内核切换封装
    03.视频播放器Api说明
  • 原文地址:https://www.cnblogs.com/z_lb/p/2938824.html
Copyright © 2011-2022 走看看