C# WPF ListBox的Item隔行 背景颜色变化

今天在做项目的时候,UI妹子设计的一个界面上的列表 有隔行背景色不一致的变化以及在第一行显示列表的序号。

效果如下

C# WPF ListBox的Item隔行 背景颜色变化_第1张图片

两个UI显示实现方式是一样的,只是逻辑少许的不同

首先,ListBox使用ItemTemplate定义数据模板。

设置每个Item的最外层布局模板的背景 使用MultiBinding

思路是,binding两个参数 首先binding当前行的实体数据,在binding整体列表的数据,使用converter转换为背景色。

xaml代码如下


C# WPF ListBox的Item隔行 背景颜色变化_第2张图片

Converter代码

C# WPF ListBox的Item隔行 背景颜色变化_第3张图片

使用dynamic作为动态类 这里必须保证 你使用的数据源 的集合类 一定有IndexOf方法。

这个时候 ListBox 的Item背景的间隔变换就实现了。

那么实现数据源列表序号也就一样的思路能够解决了。

C# WPF ListBox的Item隔行 背景颜色变化_第4张图片

只是在converter中代码的区别。xaml中在指定的TextBlock中的Text属性做MultiBinding。以上就是今天想分享出来的点。

你可能感兴趣的:(C#,WPF)