0

ウィンドウに3つのエキスパンダーがあり、エキスパンダー2と3を開いていても、1つではなく、それらの2つだけを伸ばす方法があるかどうかを知りたいのですが、現在は3つすべてを均等に伸ばしています。また、それらを閉じると、コンテンツは閉じますが、列は開いている場合と同じ幅のままになります。

拡大したときにのみストレッチし、折りたたんだときに幅10ピクセルの小さなサイズに戻すための最良の方法は何ですか?

4

1 に答える 1

4

をに設定Triggersして、が閉じているときにを固定にColumnDefinitions設定し、を開いているときに比例に設定することができます。WidthExpanderExpander

例:

     <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition>
                <ColumnDefinition.Style>
                    <Style TargetType="ColumnDefinition">
                        <Setter Property="Width" Value="20" />
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding IsExpanded, ElementName=expander1}" Value="True">
                                <Setter Property="Width" Value="20*" />
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </ColumnDefinition.Style>
            </ColumnDefinition>
            <ColumnDefinition>
                <ColumnDefinition.Style>
                    <Style TargetType="ColumnDefinition">
                        <Setter Property="Width" Value="20" />
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding IsExpanded, ElementName=expander2}" Value="True">
                                <Setter Property="Width" Value="20*" />
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </ColumnDefinition.Style>
            </ColumnDefinition>
            <ColumnDefinition>
                <ColumnDefinition.Style>
                    <Style TargetType="ColumnDefinition">
                        <Setter Property="Width" Value="20" />
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding IsExpanded, ElementName=expander3}" Value="True">
                                <Setter Property="Width" Value="20*" />
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </ColumnDefinition.Style>
            </ColumnDefinition>
        </Grid.ColumnDefinitions>
        <Expander Name="expander1" Grid.Column="0" Header="Expander1" />
        <Expander Name="expander2" Grid.Column="1" Header="Expander2" />
        <Expander Name="expander3" Grid.Column="2" Header="Expander3" />
    </Grid>

結果:

ここに画像の説明を入力してください ここに画像の説明を入力してください

ここに画像の説明を入力してください ここに画像の説明を入力してください

于 2013-03-26T21:22:49.963 に答える