当前位置:网站首页>【wpf】ListView 和 ItemsControl 的一点区别
【wpf】ListView 和 ItemsControl 的一点区别
2022-08-02 15:09:00 【code bean】
ItemsControl 实现背景间隔效果
<ItemsControl ItemsSource="{StaticResource datas}" AlternationCount="2">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Background="Transparent" Name="root">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Name}"/>
<TextBlock Text="{Binding Age}" Grid.Column="1"/>
</Grid>
<DataTemplate.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="Orange" TargetName="root"/>
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
ListView实现背景间隔效果
listview无法直接通过DataTemplate.Triggers去设置,只能通过ItemContainerStyle的方式
<ListView ItemsSource="{StaticResource datas}" AlternationCount="2">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="Orange"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
</Trigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<Grid Background="Transparent" Name="root">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Name}"/>
<TextBlock Text="{Binding Age}" Grid.Column="1"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
通过snoop观察,listview比ItemsControl 多封装了几层:


由于多了个ListViewItem这一次,所以没法直接访问到ItemsControl.AlternationIndex
所以用了ItemContainerStyle的方式去访问。
边栏推荐
猜你喜欢
随机推荐
轻松入门自然语言处理系列 专题8 源码解读──基于HMM的结巴分词
矩阵的特征值与特征向量
Qt | 模态对话框和非模态对话框 QDialog
AI智能剪辑,仅需2秒一键提取精彩片段
第十四天笔记
23、wpf之布局(一)
兆骑科创双创服务平台,创业赛事活动,投融资对接平台
为什么我不再推荐枚举策略模式?
mysql 索引使用与优化
Qt | 关于对象树和元对象的相关问题
看我如何用多线程,帮助运营小姐姐解决数据校对系统变慢!
【深度学习】关于处理过拟合的一点心得
Qt | 关于 Qt Creator 打开项目编译不过的问题
Reed-Solomon Codes——RS纠错码
WWW'22 推荐系统论文之图神经网络篇
Qt | 关于容器类的一些总结
Apache的管理及web优化
已经2022下半年了,居然还在说链动2+1!
Advanced usage of vim configuration
OneFlow源码解析:Op、Kernel与解释器









