Я изменил стиль DataGridRowGroupHeader на моей сетке данных, потому что я хочу изменить текст, который он отображает.Я хочу, чтобы он суммировал данные, которые он содержит в своей группе.(В частности, код должен иметь возможность проверять все элементы, хранящиеся в коллекции, чтобы найти тот, который имеет самую старую дату).
У меня возникли проблемы при попытке получить доступ к элементам в коллекции.Я пытался использовать конвертер в RowGroupHeader, где он отображает текст - но коллекция всегда возвращается как пустая.
<sdk:DataGrid.RowGroupHeaderStyles>
<Style TargetType="sdk:DataGridRowGroupHeader">
<Setter Property="Template">
<!-- All the other spield from the default template, leading to below where the header text is rendered -->
<StackPanel Grid.Column="3" Grid.Row="1" Orientation="Horizontal" VerticalAlignment="Center" Margin="0,1,0,1">
<TextBlock x:Name="PropertyNameElement" Margin="4,0,0,0"/>
<TextBlock Margin="4,0,0,0" Text="{Binding Name}" />
<TextBlock x:Name="ItemCountElement" Margin="4,0,0,0" Visibility="{TemplateBinding ItemCountVisibility}"/>
<TextBlock x:Name="oldest" Margin="4,0,0,0" Text="{Binding Converter={StaticResource myConverter}, ConverterParameter=Orders}" />
</StackPanel>
И мой конвертер выглядит так:
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
CollectionViewGroup cvg = value as CollectionViewGroup;
if (cvg.Items.Count==0)
return "Test Fails";
else
return FindOldestObjectInCollection(cvg.Items);
}
Приведенная выше коллекция CollectionViewGroup всегда пуста - мне казалось, что она должна содержать все элементы в группе.(Группа создана как PagedCollectionView).Любые идеи, где я иду не так?