0

コレクションビューを持つユーザーコントロールがありLlistBoxますItemsSourceExpanderグループ化するために、グループ化されたアイテムが次のようにコントロール内にあるグループ スタイルを使用しました。

ラベルの内容が「UNKNOWN」Exapanderである必要があり、デフォルトで閉じている必要があり、残りは開いたままにする必要があるため、2 つの方法を試しましたが、いずれも機能しませんでした。

  1. Controltemplate.Triggers 内でのデータ トリガーの使用
  2. Controltemplate.Resources 内でのデータ トリガーの使用

グループによってエキスパンダーのカウント数が違うので、ショートカットキーでエキスパンダーの開閉は出来ますか??

例: 2 つの Expander (動物/鳥) がある場合、Alt+F1「Exapnder Animals」を閉じるか開く必要があります。

「 Exapnder Alt+F2Birds」を閉じるか開く必要があります

<GroupStyle.ContainerStyle>
    <Style TargetType="{x:Type GroupItem}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type GroupItem}">




                    <ControlTemplate.Triggers>
                        <DataTrigger Binding="{Binding ElementName=lbl, Path=Content}" Value="UNKNOWN">
                            <Setter Property="Expander.IsExpanded" Value="False" />
                        </DataTrigger>
                    </ControlTemplate.Triggers>



                    <ControlTemplate.Resources>
                        <Style TargetType="{x:Type Expander}">
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding ElementName=lbl, Path=Content}" Value="UNKNOWN">
                                    <Setter Property="Expander.IsExpanded" Value="False" />
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                   </ControlTemplate.Resources>



                   <Expander IsExpanded="True" FlowDirection="LeftToRight"    >
                       <Expander.Header >
                           <Label x:Name="lbl"  BorderBrush="Black"  BorderThickness="0.5"  
                                  Content="{Binding Path = Name}"  Width="{Binding ElementName=MyList, Path=ActualWidth}"
                                  FontSize="16" FontFamily="Verdana"/>
                        </Expander.Header>                                   
                        <Expander.Content>
                            <ItemsPresenter />
                        </Expander.Content>
                    </Expander>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</GroupStyle.ContainerStyle>
4

1 に答える 1