Доступ WPF к Expander внутри ControlTemplate элемента ItemControl с GroupDescription

На мой взгляд, у меня есть ItemControl:

<Border Grid.Row="2" Margin="0,5,0,0">
        <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Visible">
            <ItemsControl Background="Transparent" ItemsSource="{Binding Blocks}">
                <ItemsControl.GroupStyle>
                    <GroupStyle>
                        <GroupStyle.ContainerStyle>
                            <Style TargetType="{x:Type GroupItem}">
                                <Setter Property="Template">
                                    <Setter.Value>
                                        <ControlTemplate>
                                            <Expander IsExpanded="True" Style="{StaticResource ClassicExpander}">
                                                <Expander.Header>
                                                    <StackPanel Orientation="Horizontal">
                                                        <TextBlock Margin="10,0,0,0"
                                                                   VerticalAlignment="Bottom"
                                                                   FontSize="14">
                                                            <Run FontWeight="Bold" Text="{Binding Name, Mode=OneWay}" />
                                                            <Run Text="(" /><Run Text="{Binding ItemCount, Mode=OneWay}" /><Run Text=")" />
                                                        </TextBlock>
                                                    </StackPanel>
                                                </Expander.Header>
                                                <ItemsPresenter />
                                            </Expander>
                                        </ControlTemplate>
                                    </Setter.Value>
                                </Setter>
                            </Style>
                        </GroupStyle.ContainerStyle>
                    </GroupStyle>
                </ItemsControl.GroupStyle>
            </ItemsControl>
        </ScrollViewer>
    </Border>

В моей модели представления я использую groupDescription, чтобы сгруппировать свой элемент в элементе:

private void _SortBlockList()
    {
        Debug.Assert(Blocks != null);
        InitializeCollectionViewSource();
        var groupDescription = new PropertyGroupDescription(nameof(FunctionBlock.Category));
        _BlockView.GroupDescriptions.Add(groupDescription);
    }

Я хочу создать кнопку для свертывания всех Расширителей в шаблоне ControlTemplate, но я не знаю, как получить доступ ко всем Расширителям.

Могут ли некоторые хорошие люди помочь мне? Благодарю.

0 ответов

Другие вопросы по тегам