继续聊WPF——为ListView的行设置样式
- <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>
继续聊WPF——为ListView的行设置样式的更多相关文章
- WPF ListView控件设置奇偶行背景色交替变换以及ListViewItem鼠标悬停动画
原文:WPF ListView控件设置奇偶行背景色交替变换以及ListViewItem鼠标悬停动画 利用WPF的ListView控件实现类似于Winform中DataGrid行背景色交替变换的效果,同 ...
- WPF,ListView设置分组
原文:WPF,ListView设置分组 今天遇到一个问题,就是在ListView中设置分组.想了很久在网上早了些资料作出一个例子. 分组字段也可以在后台中定义: CollectionView view ...
- (转)利用WPF的ListView进行大数据量异步加载
原文:http://www.cnblogs.com/scy251147/archive/2012/01/08/2305319.html 由于之前利用Winform的ListView进行大数据量加载的时 ...
- 利用WPF的ListView进行大数据量异步加载
原文:利用WPF的ListView进行大数据量异步加载 由于之前利用Winform的ListView进行大数据量加载的时候,诟病良多,所以今天试着用WPF的ListView来做了一下,结果没有让我失望 ...
- wpf datagrid row height 行高自动计算使每行行高自适应文本
wpf 的datagrid的行高 要么是Auto,要么是定值:但会带来麻烦就是每行行高都一样. 当需要按内容(主要是wrap 换行的textbox或textblock)来动态调整行高的时候,需要用到d ...
- WPF之ListView使用WrapPanel
原文:WPF之ListView使用WrapPanel 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/jiuzaizuotian2014/articl ...
- 【C#/WPF】ListView的MVVM例子,及禁止拖动ListView的头部Header
一个ListView的MVVM简单例子: <ListView ItemsSource="{Binding GoodsList}" Margin="0,10,0,10 ...
- word-wrap&&word-break,奇偶行、列设置样式
1.word-wrap和word-break区分. 来源场景:机械租赁mvc驾驶员信息查看: 当备注的文字多的时候,第一列的值成这模样: 解决方案:设置table 的td可自动换行.首先table设置 ...
- WPF Button的背景图片设置
这个问题很简单,但是对于从winfrom转过来的来讲,在做事的时候就会被绕进去,言归正传,如何设置一个bUtton的背景图片?如何去掉让人烦的默认选中时的灰色背景?请看如下的描述.问题的来源和解决都在 ...
随机推荐
- Jmeter压测问题_Non HTTP response code: org.apache.http.conn.ConnectTimeoutException
负载机压测,线程500,服务器根本无压力,负载机本身发的请求都是失败的 Sample result如下: Thread Name: 考勤(考勤提交) 1-134 Sample Start: 2018- ...
- C++对象模型——关于对象(第一章)
第一章 关于对象 在C语言中,"数据"和"处理数据的操作(函数)"是分开声明的,也就是说,语言本身并没有支持"数据和函数"之间的关联性 ...
- ubuntu下eclipse连接mysql
提示:一定要保证电脑处于联网状态 我们要下载一个mysql-connector-java-5.0.8-bin.jar的东西(当然这个jar包的版本号和你的mysql版本号的关系不是非常大),放到你新建 ...
- samba笔记
############ 1.安装网络yum ############ 2.安装createrepo [root@localhost ~]# yum install createrepo-0.9.8- ...
- 关于QT版本的安装配置的一些困惑
大概是之前安装和使用QT太顺利了,什么都没注意就开始使用了.在使用VS2012开发Qt5.31的程序一段时间以后,虽然好用,但是发现其编译的程序不能在XP上使用,要打补丁才行.不仅VS2012本身要打 ...
- luogu3084 Photo 单调队列优化DP
题目大意 农夫约翰决定给站在一条线上的N(1 <= N <= 200,000)头奶牛制作一张全家福照片,N头奶牛编号1到N.于是约翰拍摄了M(1 <= M <= 100,000 ...
- 粗结MySql数据库基础知识点之一
首先弄什么是数据库? 数据库就是用来存储和管理数据的仓库. 数据库存储数据的优点: 1.可存储大量的数据 2.方便检索 3.保持数据的一致性,完整性 4.安全 可共享 5.通过组合分析,可以产 ...
- 基于Myeclipse+Axis2的WebService开发实录
最近开始学习了下在Myeclipse开发工具下基于WebSerivce的开发,下面将相关相关关键信息予以记录 Myeclipse的安装,本文以Myeclipse2014-blue为开发环境,相关配置执 ...
- 笔记《javascript高级程序设计》 第12章 DOM2和DOM3
DOM2 级核心:在 1 级基础上构建,为节点添加更多方法和属性 DOM2 级视图:为文档定义了基于样式信息的不同视图 DOM2 级事件:说明了如何使用事件和DOM文档交互 DOM2 级样式:如何以编 ...
- B - Bit++
Problem description The classic programming language of Bitland is Bit++. This language is so peculi ...