我必须将数据分组到datagrid中。 我已经做了以下事情:
> <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并将其指定为itemssource,如下所示:
ListCollectionView lcv = new ListCollectionView(infoList); lcv.GroupDescriptions.Add(new PropertyGroupDescription(“Author”)); dgAuthor.ItemsSource = lcv;
其中Info是具有Author,Book,Year属性的类。
我必须在Author属性上对datagrid进行分组。 我能够显示解释器,但看不到任何行。 任何人都可以告诉我代码有什么问题吗?
答案 0 :(得分:0)
明确设置AutoGenerateColumns="True"
可以解决问题。
我还添加了列定义。