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>
查看全文
相关阅读:
最常用的CountDownLatch, CyclicBarrier你知道多少? (Java工程师必会)
浅谈Java中的Condition条件队列,手摸手带你实现一个阻塞队列!
实习到公司倒闭,2019我的技术踩坑之路!
Java中的等待唤醒机制—至少50%的工程师还没掌握!
告别编码5分钟,命名2小时!史上最全的Java命名规范参考!
解决SELinux阻止Nginx访问服务
ZooKeeper使用入门
JVM致命错误日志详解
虚拟机中设置 CentOS 静态 IP
Spring 核心技术(7)
原文地址:https://www.cnblogs.com/javawebsoa/p/2457971.html
最新文章
C# WPF
openstack cinder-backup流程与源码分析
为何说只有 1 种实现线程的方法?
经典排序算法原理解析与优劣对比
Java中List和ArrayList的区别
openstack-taskflow 组件记录
递归:如何利用递归求解汉诺塔问题?
Java 源码刨析
Java 源码刨析
qemu-guest-agent详解
热门文章
Java 源码刨析
DevExpress 各个版本与 .NET、Visual Studio 的版本兼容性
Visual Studio 的产品生命周期
.NET Framework、.NET Core 和 .NET 5+ 的产品生命周期
[翻译] ASP.NET Core 3.0 的新增功能
图解MySQL索引(三)—如何正确使用索引?
图解MySQL索引(二)—为什么使用B+Tree
图解MySQL索引(上)—MySQL有中“8种”索引?
Linux中查看日志文件的正确姿势,求你别tail走天下了!
剑未佩妥,出门已是江湖!聊聊2019学习和工作
Copyright © 2011-2022 走看看