我有一个 WPF GridView
,部分数据需要显示在总计(页脚和组总计)中,而不是实际数据记录中。
我认为编写触发器并根据行的数据隐藏行会很容易,但事实证明 TelerikGridView
使用了一个不寻常的面板进行虚拟化,所以虽然指定的行被隐藏了,但在应该的地方留下了一个空白区域去。
这是我目前的风格。它确实隐藏了行,但它相当于使可见性Hidden
而不是Collapsed
(隐藏项目,但在原处留下空白)
<Style TargetType="{x:Type telerik:GridViewGroupRow}">
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger Binding="{Binding Group.Key, RelativeSource={RelativeSource Self}}" Value="SomeValue">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
我尝试将 ItemTemplate 设置为 null,从 Telerik 的 GridViewVirtualizingPanel 中删除 Item,并调整 Visibility,但这些选项似乎都不起作用。
有谁知道我可以做到这一点的方法?我要么想基于触发器隐藏(和折叠)行,要么找到一种方法来获取当前分组表达式的查询,以便我可以查询第二个集合并在 Group Total 中显示结果。我对使用 Code-Behind 或一些 hackish 来实现这一点没有任何问题。
编辑
作为一个有趣的旁注,我可以将高度设置为 1,但不能设置为 0。即使 1 也太多了,因为我可以隐藏数千条记录,这会在屏幕上留下一个巨大的白色区域。