zoukankan
html css js c++ java
继续聊WPF——为ListView的行设置样式
关键点:要设置ListView的行样式,设置Listview的ItemContainerStyle属性,但在本例中,由于我把样式应用于所有的ListViewItem,故不用设置该属性。
<Window x:Class="Wpf_GridHeaderStyle_sample.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:c="clr-namespace:Wpf_GridHeaderStyle_sample" Title="Window1" Height="300" Width="300"> <Window.Resources> <ControlTemplate x:Key="tmpForThumb" TargetType="{x:Type Thumb}"> <Border> <Rectangle Width="1" Name="rec"> <Rectangle.Fill> <LinearGradientBrush StartPoint="0.5,0.3" EndPoint="1,1"> <GradientStop Color="Orange" Offset="0.22"/> <GradientStop Color="White" Offset="1"/> </LinearGradientBrush> </Rectangle.Fill> </Rectangle> </Border> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter TargetName="rec" Property="Fill" Value="LightGreen"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> <Style TargetType="{x:Type GridViewColumnHeader}"> <Setter Property="OverridesDefaultStyle" Value="True"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type GridViewColumnHeader}"> <Grid Name="g"> <Grid.Background> <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1"> <GradientStop Color="Gold" Offset="0.3"/> <GradientStop Color="LightYellow" Offset="1"/> </LinearGradientBrush> </Grid.Background> <Border Name="bd" Padding="{TemplateBinding Padding}"> <ContentPresenter Margin="5,4,1,3" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/> </Border> <Thumb Name="PART_HeaderGripper" Template="{StaticResource tmpForThumb}" HorizontalAlignment="Right" Margin="0,0,-1,0"/> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter TargetName="g" Property="Background"> <Setter.Value> <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1"> <GradientStop Color="DeepPink" Offset="0.3"/> <GradientStop Color="White" Offset="1"/> </LinearGradientBrush> </Setter.Value> </Setter> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> <!--数据源--> <c:Students x:Key="DBSource"/> <!--ListViewItem的样式--> <Style TargetType="{x:Type ListViewItem}"> <Style.Setters> <Setter Property="SnapsToDevicePixels" Value="True"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ListViewItem}"> <Border x:Name="bd" BorderThickness="1" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True"> <GridViewRowPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="3"/> </Border> <ControlTemplate.Triggers> <Trigger Property="IsSelected" Value="True"> <Trigger.Setters> <Setter TargetName="bd" Property="Background"> <Setter.Value> <LinearGradientBrush StartPoint="0.5,0.22" EndPoint="0.5,1"> <GradientStop Color="LightGray" Offset="0.31"/> <GradientStop Color="Gray" Offset="0.88"/> </LinearGradientBrush> </Setter.Value> </Setter> </Trigger.Setters> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style.Setters> </Style> </Window.Resources> <Grid> <ListView x:Name="lv" ItemsSource="{StaticResource DBSource}"> <ListView.View> <GridView AllowsColumnReorder="True"> <GridViewColumn DisplayMemberBinding="{Binding Path=Name}" Header="姓名" Width="110"/> <GridViewColumn DisplayMemberBinding="{Binding Path=Phone}" Header="联系电话" Width="125"/> </GridView> </ListView.View> </ListView> </Grid> </Window>
查看全文
相关阅读:
什么样的代码称得上是好代码?
九年程序人生 总结分享
Docker入门 第一课 --.Net Core 使用Docker全程记录
阿里云 Windows Server 2012 r2 部署asp.net mvc网站 平坑之旅
Visual studio 2015 Community 安装过程中遇到问题的终极解决
Activiti6.0 spring5 工作流引擎 java SSM流程审批 项目框架
java 进销存 库存管理 销售报表 商户管理 springmvc SSM crm 项目
Leetcode名企之路
24. 两两交换链表中的节点
21. 合并两个有序链表
原文地址:https://www.cnblogs.com/javawebsoa/p/2457971.html
最新文章
Class.isAssignableFrom与instanceof的区别
Mysql中联合索引的最左匹配原则
Mysql事务与锁详解
深入理解Mysql索引的底层数据结构 B+ Tree (2)
深入理解Mysql索引的底层数据结构 B+ Tree (1)
组合模式
观察者模式
Got a packet bigger than‘max_allowed_packet’bytes错误的解决方法
解决Linux系统下Mysql数据库中文显示成问号的问题
淘宝面试回来,想对程序员们谈谈
热门文章
Spring Boot 2 整合 Dubbo 框架 ,实现 RPC 服务远程调用
缓存有那么多种,分别是干什么的?
如何带领团队“攻城略地”?优秀的架构师这样做
高并发&高可用系统的常见应对策略
构建高可用ZooKeeper集群
Spring Cloud微服务架构升级总结
资深P7架构师详解淘宝服务端高并发分布式架构演进之路
"轻"量级 Java Web 服务框架漫谈
我是这样手写Spring的,麻雀虽小五脏俱全
MySQL 性能调优——SQL 查询优化
Copyright © 2011-2022 走看看