我有一个组里面有物品,我希望那个组有一个子组。C#WPF工具包DataGrid - 组内集团?
主要群体:“窗口”,“Linux的”,“苹果”和子组:“数据”,“基本”,“高级”
子群体将是那些将包含行项目。另外,每个主要组可以有不同的子组。
我该怎么做?
下面是我的一些代码:
<Window.Resources>
<CollectionViewSource x:Key="OSGroups">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="os"/>
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
<Style x:Key="GroupContainerStyle" TargetType="{x:Type GroupItem}">
<Style.Resources>
<LinearGradientBrush x:Key="OutBrush" StartPoint="0,0" EndPoint="0,1">
<GradientStop Offset="0" Color="#FEB74B"/>
<GradientStop Offset="1" Color="#F19201"/>
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander IsExpanded="True" Background="{StaticResource OutBrush}" BorderThickness="0">
<Expander.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal" Margin="0,0,10,0">
<TextBlock Text="{Binding Path=Name}"/>
</StackPanel>
</Grid>
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid>
<wpfToolkit:DataGrid Name="CommandsDataGrid" AutoGenerateColumns="False" IsReadOnly="True" CanUserAddRows="False" CanUserDeleteRows="False" CanUserResizeRows="False" CanUserSortColumns="False" ItemsSource="{Binding Source={StaticResource OSGroups}}" CellStyle="{StaticResource CellStyle}" HeadersVisibility="Column" Height="250" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<wpfToolkit:DataGrid.GroupStyle>
<GroupStyle ContainerStyle="{StaticResource GroupContainerStyle}">
<GroupStyle.Panel>
<ItemsPanelTemplate>
<wpfToolkit:DataGridRowsPresenter/>
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
</wpfToolkit:DataGrid.GroupStyle>
<wpfToolkit:DataGrid.Columns>
<wpfToolkit:DataGridTextColumn Header="Command" Binding="{Binding Path=command}" />
<wpfToolkit:DataGridTextColumn Header="Description" Width="*" Binding="{Binding Path=description}" />
</wpfToolkit:DataGrid.Columns>
</wpfToolkit:DataGrid>
</Grid>