我有一個組裏面有物品,我希望那個組有一個子組。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>