WPF的Datagrid显示,样式(隔行换色)
来源:互联网 发布:aoi检测算法 编辑:程序博客网 时间:2024/06/06 20:13
主要写一些最近一段时间学习Wpf的显示
直接显示与.net中的gridview有些相似,直接把一个list扔入datagrid中就可以显示,都可以自动的把对象的属性加载到页面上。
MainWindow.xaml.cs
- public MainWindow()
- {
- InitializeComponent();
- }
- private void Window_Loaded(object sender, RoutedEventArgs e)
- {
- List<User> list = new List<User>();
- for (int i = 0; i < 10; i++)
- {
- User u = new User();
- u.Id = i + 1;
- u.Name = "aa" + i;
- list.Add(u);
- }
- this.grid_user.ItemsSource = list;
- }
- }
- public class User
- {
- public int Id { get; set; }
- public string Name { get; set; }
- }
MainWindow.xaml AlternationCount="2"隔行换色
- <Grid>
- <DataGrid Name="grid_user" IsReadOnly="True" AlternationCount="2">
- <DataGrid.Columns>
- <DataGridTextColumn Header="Id" Width="50" Binding="{Binding Id}"/>
- <DataGridTextColumn Header="Name" Width="50" Binding="{Binding Name}"/>
- </DataGrid.Columns>
- </DataGrid>
- </Grid>
自定义Datagrid的样式
- <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
- <Style TargetType="DataGrid">
- <!--网格线颜色-->
- <Setter Property="CanUserResizeColumns" Value="false"/>
- <Setter Property="Background" Value="#E6DBBB" />
- <Setter Property="BorderBrush" Value="#d6c79b" />
- <Setter Property="HorizontalGridLinesBrush">
- <Setter.Value>
- <SolidColorBrush Color="#d6c79b"/>
- </Setter.Value>
- </Setter>
- <Setter Property="VerticalGridLinesBrush">
- <Setter.Value>
- <SolidColorBrush Color="#d6c79b"/>
- </Setter.Value>
- </Setter>
- </Style>
- <!--标题栏样式-->
- <!--<Style TargetType="DataGridColumnHeader" >
- <Setter Property="Width" Value="50"/>
- <Setter Property="Height" Value="30"/>
- <Setter Property="FontSize" Value="14" />
- <Setter Property="Background" Value="White" />
- <Setter Property="FontWeight" Value="Bold"/>
- </Style>-->
- <Style TargetType="DataGridColumnHeader">
- <Setter Property="SnapsToDevicePixels" Value="True" />
- <Setter Property="MinWidth" Value="0" />
- <Setter Property="MinHeight" Value="28" />
- <Setter Property="Foreground" Value="#323433" />
- <Setter Property="FontSize" Value="14" />
- <Setter Property="Cursor" Value="Hand" />
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="DataGridColumnHeader">
- <Border x:Name="BackgroundBorder" BorderThickness="0,1,0,1"
- BorderBrush="#e6dbba"
- Width="Auto">
- <Grid >
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <ContentPresenter Margin="0,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- <Path x:Name="SortArrow" Visibility="Collapsed" Data="M0,0 L1,0 0.5,1 z" Stretch="Fill" Grid.Column="2" Width="8" Height="6" Fill="White" Margin="0,0,50,0"
- VerticalAlignment="Center" RenderTransformOrigin="1,1" />
- <Rectangle Width="1" Fill="#d6c79b" HorizontalAlignment="Right" Grid.ColumnSpan="1" />
- <!--<TextBlock Background="Red">
- <ContentPresenter></ContentPresenter></TextBlock>-->
- </Grid>
- </Border>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- <Setter Property="Height" Value="25"/>
- </Style>
- <!--行样式触发-->
- <!--背景色改变必须先设置cellStyle 因为cellStyle会覆盖rowStyle样式-->
- <Style TargetType="DataGridRow">
- <Setter Property="Background" Value="#F2F2F2" />
- <Setter Property="Height" Value="25"/>
- <Setter Property="Foreground" Value="Black" />
- <Style.Triggers>
- <!--隔行换色-->
- <Trigger Property="AlternationIndex" Value="0" >
- <Setter Property="Background" Value="#e7e7e7" />
- </Trigger>
- <Trigger Property="AlternationIndex" Value="1" >
- <Setter Property="Background" Value="#f2f2f2" />
- </Trigger>
- <Trigger Property="IsMouseOver" Value="True">
- <Setter Property="Background" Value="LightGray"/>
- <!--<Setter Property="Foreground" Value="White"/>-->
- </Trigger>
- <Trigger Property="IsSelected" Value="True">
- <Setter Property="Foreground" Value="Black"/>
- </Trigger>
- </Style.Triggers>
- </Style>
- <!--单元格样式触发-->
- <Style TargetType="DataGridCell">
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="DataGridCell">
- <TextBlock TextAlignment="Center" VerticalAlignment="Center" >
- <ContentPresenter />
- </TextBlock>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- <Style.Triggers>
- <Trigger Property="IsSelected" Value="True">
- <!--<Setter Property="Background" Value="White"/>
- <Setter Property="BorderThickness" Value="0"/>-->
- <Setter Property="Foreground" Value="Black"/>
- </Trigger>
- </Style.Triggers>
- </Style>
- </ResourceDictionary>
2 0
- WPF的Datagrid显示,样式(隔行换色)
- WPF的Datagrid显示,样式(隔行换色)
- WPF的Datagrid显示,样式(隔行)换色
- WPF的Datagrid显示,样式(隔行换色)
- 基于Table的企业级CSS样式、隔行换色、鼠标移动、单击换色
- dedecms的隔行换色
- 列表隔行显示相同背景颜色,隔行换色
- DataGrid GridView 隔行换色 鼠标经过改变背景色
- QTableWidget中隔行换色的实现
- css隔行换色的方法
- 实现表格的隔行换色效果
- Dev GridView 隔行换色的方法
- jQuery实现表格的隔行换色
- js的隔行换色 排序
- 简单的隔行换色 jq
- WPF中设置DataGrid的一些样式
- 表格(table)隔行换色
- css隔行换色
- Shell+Linux命令实现日志分析
- Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框
- FFMPEG中最关键的结构体之间的关系
- 关于 context.Response.Redirect 跳转问题 .
- Extjs4 操作TreeStore 处理proxyAjax 获取的数据
- WPF的Datagrid显示,样式(隔行换色)
- java将文件批量打包后并下载
- WPF DataGrid Style
- select 模型
- iOS终端小问题
- linux常用文字处理命令总结
- 集合
- linux shell脚本学习xargs命令使用详解
- 去掉调试的黑色窗口(环境VS2008+QT4.8)