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>
查看全文
相关阅读:
ES6入门之Promise对象
Iterator和ListIterator区别
try_catch_return
T-SQL查询进阶--详解公用表表达式(CTE)
Node.js安装及环境配置之Windows篇
Java中Lambda表达式的使用
windows下redis 开机自启动
IDEA快捷键(修改成eclipse版)+Templates
oracle赋予一个用户具有查询另一个用户所有表数据
sql触发器
原文地址:https://www.cnblogs.com/javawebsoa/p/2457971.html
最新文章
概要设计怎么做
概要设计与详细设计分别要做什么
《Inside UE4》目录
《InsideUE4》UObject(六)类型系统代码生成重构-UE4CodeGen_Private
《InsideUE4》UObject(五)类型系统信息收集
《InsideUE4》UObject(四)类型系统代码生成
《InsideUE4》UObject(三)类型系统设定和结构
《InsideUE4》UObject(二)类型系统概述
《InsideUE4》UObject(一)开篇
《InsideUE4》GamePlay架构(十)总结
热门文章
《InsideUE4》-10-GamePlay架构(九)GameInstance
《InsideUE4》-9-GamePlay架构(八)Player
《InsideUE4》-8-GamePlay架构(七)GameMode和GameState
收藏,最全的字符串函数方法,总有你用到的~
Element ui select 同时获取value和label的值
重学JavaScript之面向对象的程序设计(继承)
null和undefined的区别?
🔥 什么是函数?
前端Vue中常用rules校验规则
重学JavaScript之匿名函数
Copyright © 2011-2022 走看看