【发布时间】:2010-10-14 04:53:50
【问题描述】:
我是 WPF 新手,不知道如何实现我所需要的。
我的问题:
我有一个显示 SQL 查询结果的数据绑定 WPF 网格视图。 一些列显示了我想隐藏的重复数据。 这个:
occupancy name room
--------- --------- -----
Occupied Bob 1
Occupied Ted 2
Available 3
Available 4
应该是这样的:
occupancy name room
--------- --------- -----
Occupied Bob 1
Ted 2
Available 3
4
我的环境:
在 .net 3.5 上使用 C#。我已将列表视图绑定到数据视图集合。我有一个用于控制格式的单元格数据模板。
我的初步解决方案:
我认为我应该对模板应用触发器并更改属性以使第一行之后的所有行上的文本都为空,其中数据与前一行相同。
当我设置触发器时,我可以在 xaml 中执行这一切,还是需要编写代码来访问前一行?
如果它在 XAML 中,您如何构造绑定字符串以引用它绑定到的数据视图的当前行和上一行中的列?由于没有上一行,它会在第一行窒息吗?
这是我正在使用的模板:
<DataTemplate x:Key="Occupancy">
<TextBlock Name="Occupancy" Text="{Binding Path=Occupancy}" TextAlignment="Left" />
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=Occupancy}">
<DataTrigger.Value>Available</DataTrigger.Value>
<Setter TargetName="Occupancy" Property="**{previous column's content}**" Value="**{current columns content}**"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
也许使用RelativeSource:PreviousData ??
如果我必须编写代码,是否有人知道可以让我开始的体面教程?
替代解决方案还可以,但我认为可以应用于许多列的无代码样式将是最佳解决方案。
感谢您的宝贵时间。
杰
【问题讨论】: