Как добавить описание группы через механизм привязки с использованием шаблона MVVM - PullRequest
0 голосов
/ 08 июля 2019

Я создал группировку, используя PropertyGroupDescription в диалоге WPF в шаблоне MVVM. Который выглядит так -

Изображение 1

enter image description here

Я хочу добавить описание для каждого типа Variant рядом с количеством ревизий следующим образом -

Изображение 2

enter image description here

В свернутом режиме вид должен выглядеть следующим образом -

Изображение 3

enter image description here

В своем коде я создал 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 .

Любые выводы будут оценены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...