質問
私は左と右の列に2つのエクスパンダを含む3つの列があります。両方expndersが崩壊したとき、私は完全なウィンドウの真ん中の列のコンテンツをarrageする必要があります。そのために私はgridlengthsを計算する必要があります。
例
GridLength w1= new GridLength( 20 );
GridLength w2= new GridLength( 50 );
GridLength w3= new GridLength( 0 );
入手方法
w3 = w2 - w1
解決
ColumnDefinitions
と1スター・ユニットに真ん中に拡張可能Auto
の幅を設定します。これを試してみてください。その内容に幅を設定することで、拡張可能な列の幅を制御します。彼らは崩壊したときに続いて、中央の列は、使用可能なスペースを埋めるために展開する必要があります。
例:
<Grid x:Name="LayoutRoot">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Expander Margin="0" VerticalAlignment="Top" Header="Expander" ExpandDirection="Right">
<Grid>
<Grid HorizontalAlignment="Left" Width="100" Background="Blue" Height="100"/>
</Grid>
</Expander>
<Expander Grid.Column="2" Margin="0" VerticalAlignment="Top" Header="Expander" ExpandDirection="Left">
<Grid>
<Grid HorizontalAlignment="Left" Width="100" Background="Blue" Height="100"/>
</Grid>
</Expander>
<Grid Background="Aquamarine" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="1" />
</Grid>
ホープ、このことができます。
所属していません StackOverflow