当前位置:网站首页>【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的方式去访问。
边栏推荐
猜你喜欢
随机推荐
2022 Security Officer-A Certificate Exam Questions and Mock Exam
高并发 MySQL 性能优化指南,自取
Brute-force cracking of the latest JVM interview questions of Meituan: unlimited execution
看我如何用多线程,帮助运营小姐姐解决数据校对系统变慢!
管理软件开发 管理软件定制开发流程
622. 设计循环队列 : 数组模拟循环队列
UnicodeEncodeError: 'gbk' codec can't encode character '\u2022' in position 178: illegal multibyte s
暴力破解美团最新JVM面试题:无限执行
做好私域流量!全民拼购就可以了。
类的比较大小(Comparable -> compareTo(类自己实现接口),Comparator -> compare(新建一个类作为比较器))
SSRF(服务器端请求伪造)
Qt | 关于容器类的一些总结
PAT Grade A 1143 Lowest Common Ancestor
Qt | QWidget 的一些总结
MPLS实验
ROS人机交互软件
Qt | 关于如何使用事件过滤器 eventFilter
leetcode 504. Base 7 七进制数 (简单)
SIGIR'22 推荐系统论文之序列推荐(短文)篇
浅析PM2实用入门指南