Я создал группировку, используя PropertyGroupDescription
в диалоге WPF в шаблоне MVVM. Который выглядит так -
Изображение 1
Я хочу добавить описание для каждого типа Variant рядом с количеством ревизий следующим образом -
Изображение 2
В свернутом режиме вид должен выглядеть следующим образом -
Изображение 3
В своем коде я создал GroupDescription, как это -
CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(VariantList);
PropertyGroupDescription groupDescription = new PropertyGroupDescription("variantName");
view.GroupDescriptions.Add(groupDescription);
вот мой код XAML -
<ListView Grid.Column="1" Grid.Row="0" Margin="25.2,82,22,19" ItemsSource="{Binding VariantList}" SelectedItem="{Binding SelectedVariant, Mode=TwoWay}">
<ListView.View>
<GridView>
<GridViewColumn Header="Variant" Width="125" DisplayMemberBinding="{Binding displayName}"/>
<GridViewColumn Header="Revision" Width="50" DisplayMemberBinding="{Binding revisionNumber}"/>
<GridViewColumn Header="Author" Width="80" DisplayMemberBinding="{Binding author}" />
<GridViewColumn Header="Commit Comment" Width="170" DisplayMemberBinding="{Binding comment}" />
<GridViewColumn Header="Last Update" Width="100" DisplayMemberBinding="{Binding lastUpdate}" />
</GridView>
</ListView.View>
<ListView.ContextMenu>
<ContextMenu>
<MenuItem Header="Create Variant" />
</ContextMenu>
</ListView.ContextMenu>
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Expander IsExpanded="False">
<Expander.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" FontWeight="Bold" Foreground="Gray" FontSize="12" VerticalAlignment="Bottom" />
<TextBlock Text="{Binding ItemCount}" FontSize="12" Foreground="Green" FontWeight="Bold" FontStyle="Italic" Margin="10,0,0,0" VerticalAlignment="Bottom" />
<TextBlock Text=" revision(s)" FontSize="12" Foreground="Silver" FontStyle="Italic" VerticalAlignment="Bottom" />
</StackPanel>
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</ListView.GroupStyle>
</ListView>
Теперь мой VariantList привязан к ListView . Я хочу создать еще одну коллекцию с именем " VariantDescription ", которую я хочу связать и отобразить как описание для каждого варианта, как показано на изображении 2 & 3 .
Любые выводы будут оценены.