高级数据绑定技术全解析
1. 特殊数据绑定场景
在数据绑定中,存在一些重要但非传统的场景,下面将详细介绍使用 RelativeSource.PreviousData 属性以及 Binding 类的一些特殊属性。
1.1 使用 RelativeSource.PreviousData
对于数据绑定的 ItemsControl ,源集合中的每个项都是生成的 UI 容器的 DataContext 。默认情况下, ItemTemplate 中使用的绑定表达式会相对于这个 DataContext 进行计算。在大多数数据绑定表达式中,模板所需的所有信息都包含在这个上下文中。然而,有时可能需要查看前一项来完成某些工作。
例如,绘制销售图表时,想要显示五年内市场份额的百分比变化。可以在 ItemTemplate 中计算变化,并将下降显示为红色,上升显示为绿色。此时,就需要数据绑定列表中前一项的信息,这正是 RelativeSource 类的 PreviousData 属性所设计的场景。
RelativeSource.PreviousData 指向绑定集合中的前一项,可以通过设置绑定的 RelativeSource 属性来使用它。设置相对源属性后,它将被视为绑定表达式的源。示例代码如下:
超级会员免费看
订阅专栏 解锁全文
168万+

被折叠的 条评论
为什么被折叠?



