WPF的Datagrid显示,样式(隔行)换色
来源:互联网 发布:金字塔 插件编程 编辑:程序博客网 时间:2024/06/17 00:47
主要写一些最近一段时间学习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>
1 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隔行换色
- STL-Vector
- mac下vim配置
- LeetCode 264. Ugly Number II(dp,O(n)求丑数)
- Java练习2
- R语言统计分析篇
- WPF的Datagrid显示,样式(隔行)换色
- Dagger2+Retrofit+RxJava
- spark调优经验(待续)
- alwayson 配置侦听器出错
- c base64加解密
- Object-C基础(13)——字典与谓词
- 如何将数据库从SQL Server迁移到MySQL
- MySql远程连接失败
- 环信 Ease3.0SDK 与EaseUI3.0 集成汇总 (卡壳的朋友们可以看看,已顺利集成成功)