我有一个包含在左右列两个膨胀三列。当两个expnders崩溃了,我需要arrage全窗口中间一栏的内容。对于我需要计算gridlengths。

例如

GridLength w1= new GridLength( 20 );
GridLength w2= new GridLength( 50 );
GridLength w3= new GridLength( 0 );

如何

w3 = w2 - w1
有帮助吗?

解决方案

尝试此:设置所述可膨胀ColumnDefinitions的宽度以Auto和中间的一个为1星形单元。通过设置其内容的宽度控制所述可扩展的列的宽度。然后,当他们崩溃,中间一列应该扩展以填充可用空间。

示例:

<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>

希望这有助于

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top