Я должен сгруппировать данные в сетку данных.
Для этого я сделал следующее:
- Добавили стиль к ресурсам как:
> <Style x:Key="GroupHeaderStyle"
> TargetType="{x:Type GroupItem}">
> <Setter Property="Template">
> <Setter.Value>
> <ControlTemplate TargetType="{x:Type GroupItem}">
> <Expander IsExpanded="False"
> >
> <Expander.Header>
> <TextBlock Text="{Binding Name}"/>
> </Expander.Header>
> <ItemsPresenter />
> </Expander>
> </ControlTemplate>
> </Setter.Value>
> </Setter>
> </Style>
- Я применил стиль как:
<dg:DataGrid Grid.Row="1" Name="dgAuthor" HorizontalScrollBarVisibility="Hidden"
AutoGenerateColumns="False" RowHeaderWidth="17" RowHeight="25">
<dg:DataGrid.GroupStyle>
<GroupStyle ContainerStyle="{StaticResource GroupHeaderStyle}">
<GroupStyle.Panel>
<ItemsPanelTemplate>
<dg:DataGridRowsPresenter/>
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
</dg:DataGrid.GroupStyle>
</dg:DataGrid>
У меня есть infoList в качестве ObservableCollection и я назначил его в качестве источника элементов следующим образом:
ListCollectionView lcv = new ListCollectionView (infoList);
lcv.GroupDescription.Add (new PropertyGroupDescription ("Автор"));
dgAuthor.ItemsSource = lcv;
где Info - это класс, который имеет свойства Author, Book, Year.
Я должен сгруппировать таблицу данных по свойству Author.
Я могу отобразить объяснитель, но не вижу в нем строк.
Кто-нибудь может сказать мне, что не так с кодом?