ウィンドウに3つのエキスパンダーがあり、エキスパンダー2と3を開いていても、1つではなく、それらの2つだけを伸ばす方法があるかどうかを知りたいのですが、現在は3つすべてを均等に伸ばしています。また、それらを閉じると、コンテンツは閉じますが、列は開いている場合と同じ幅のままになります。
拡大したときにのみストレッチし、折りたたんだときに幅10ピクセルの小さなサイズに戻すための最良の方法は何ですか?
ウィンドウに3つのエキスパンダーがあり、エキスパンダー2と3を開いていても、1つではなく、それらの2つだけを伸ばす方法があるかどうかを知りたいのですが、現在は3つすべてを均等に伸ばしています。また、それらを閉じると、コンテンツは閉じますが、列は開いている場合と同じ幅のままになります。
拡大したときにのみストレッチし、折りたたんだときに幅10ピクセルの小さなサイズに戻すための最良の方法は何ですか?
をに設定Triggers
して、が閉じているときにを固定にColumnDefinitions
設定し、を開いているときに比例に設定することができます。Width
Expander
Expander
例:
<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>
結果: