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>
查看全文
相关阅读:
APP设计资源
browsersync实现网页实时刷新(修改LESS,JS,HTML时)
Browsersync + Gulp.js
用原生js对表格排序
js深复制
c++刷题(43/100)矩阵旋转打印
将本地的mongodb迁移到阿里云
c++刷题(39/100)笔试题3
c++刷题(37/100)笔试题2
c++刷题(33/100)笔试题1
原文地址:https://www.cnblogs.com/javawebsoa/p/2457971.html
最新文章
前端_定位浮层位置_判断input标签的属性
前端_jsonp用法
技术_开发工具_一些常用的快捷键
前端_把excel表的数据粘贴到网页table(未测试)
Axios拦截器配置
前端通过Nginx反向代理解决跨域问题
html中offsetTop、clientTop、scrollTop、offsetTop各属性介绍
dd
webpack学习之路
入门Webpack,看这篇就够了
热门文章
webpack使用优化(基本篇
webpack 多页面构建
Webpack 入门指迷
真机上调试移动端的页面
客户端用javascript获取文件大小
网址收藏
mac 终端 常用命令
mac安装虚拟机
mac和virtualbox虚拟机共享
Mac OS X 中快速访问系统根目录的四种方法
Copyright © 2011-2022 走看看