没有合适的资源?快使用搜索试试~ 我知道了~
WPF的ListView控件自定义布局用法实例
17 下载量 192 浏览量
2020-09-02
02:18:43
上传
评论
收藏 47KB PDF 举报
温馨提示


试读
2页
主要介绍了WPF的ListView控件自定义布局的方法,结合实例形式分析了WPF中ListView控件的布局方法,需要的朋友可以参考下
资源推荐
资源详情
资源评论












WPF的的ListView控件自定义布局用法实例控件自定义布局用法实例
主要介绍了WPF的ListView控件自定义布局的方法,结合实例形式分析了WPF中ListView控件的布局方法,需要的
朋友可以参考下
本文实例讲述了WPF的ListView控件自定义布局用法。分享给大家供大家参考,具体如下:
概要:概要:
以源码的形式贴出,免得忘记后,再到网上查资料。在VS2008+SP1环境下调试通过
引用的GrayscaleEffect模块,可根据参考资料《Grayscale Effect...》中的位置下载。
正文:正文:
如何布局是在App.xaml中定义源码如下
<Application x:Class="CWebsSynAssistant.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:effect="clr-namespace:GrayscaleEffect;assembly=GrayscaleEffect"
StartupUri="Window1.xaml">
<Application.Resources>
<!-- ListView的布局模板-->
<ControlTemplate x:Key="myLVTemplate" TargetType="{x:Type ListView}">
<Grid>
<ScrollViewer x:Name="ScrollViewerElement"
Background="White"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled">
<ItemsPresenter>
</ItemsPresenter>
</ScrollViewer>
</Grid>
</ControlTemplate>
<!-- ListViewItem的布局模板-->
<DataTemplate x:Key="myLVItemTemplate">
<Grid Name="myGrid" Width="70" Margin="8,8,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<Image Name="img" Source="{Binding Path=ISource}" HorizontalAlignment="Center"
Width="32" Height="32" Stretch="UniformToFill"
ToolTip="{Binding Path=FullFileName}" >
<Image.Effect>
<effect:GrayscaleEffect x:Name="grayscaleEffect" DesaturationFactor="1.0"/>
</Image.Effect>
</Image>
<TextBlock Name="imgTitle" Text="{Binding Path=FileName}" Grid.Row="1" HorizontalAlignment="Center"
FontSize="10" FontFamily="Arial"
ToolTip="{Binding Path=FullFileName}" Margin="4,4,4,4" TextTrimming="CharacterEllipsis" />
</Grid>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor,
AncestorType={x:Type ListViewItem}}, Path=IsSelected}" Value="True">
<Setter TargetName="myGrid" Property="Background" Value="White"/>
<Setter TargetName="imgTitle" Property="Background" Value="CadetBlue"/>
<Setter TargetName="imgTitle" Property="Foreground" Value="White"/>
<Setter TargetName="img" Property="Effect">
<Setter.Value>
<effect:GrayscaleEffect DesaturationFactor="0.5"/>
</Setter.Value>
</Setter>
<!--
<Setter TargetName="img" Property="Opacity" Value=".5"></Setter>
-->
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
<!--下面这段代码不用,选中的时候边框有些边会变成蓝色(不是你希望的颜色)-->
<Style TargetType="{x:Type ListViewItem}" x:Key="ItemContainerStyle">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<Border x:Name="Bd" Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0" >
<ContentPresenter/>
资源评论


weixin_38545463
- 粉丝: 6
- 资源: 931
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
