У меня есть WPF GridView
, и часть данных должна отображаться в итоговых значениях (итоговые значения в нижнем и нижнем колонтитулах), но не в реальных записях данных.
Я думал, что было бы легко написать триггер и скрыть строку на основе данных строки, однако оказалось, что Telerik GridView
использует необычную панель для виртуализации, поэтому, хотя указанные строки скрыты, пустой белый место осталось, куда оно должно идти.
Вот мой текущий стиль. Он скрывает строку, но это эквивалентно созданию видимости 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, удалив Item из GridViewVirtualizingPanel Telerik и настроить Visibility, но ни одна из этих опций, похоже, не работает.
Кто-нибудь знает, как мне это сделать? Я либо хочу скрыть (и свернуть) строки на основе триггера, либо найти способ получить запрос текущего группового выражения, чтобы я мог запросить 2-ую коллекцию и отобразить результаты в итоговой группе. У меня нет проблем с использованием Code-Behind или чего-то хакерского для этого.
Редактировать
Как интересное примечание, я могу установить высоту 1, но не 0. Даже 1 слишком много, хотя я могу скрывать тысячи записей, и это оставляет огромную белую область на экране.