0

假设我旁边有 2 个文本块

TextBlock 1 - Hi how are you?
TextBlock 2 - I am fine thank you

结果

 Hi how are you? I am fine thank you

现在说我想隐藏文本块 1(动态)。我仍然会看到 Textblock 2,但在它之前会是 textblock 1 的大量空间。

结果

                 I am fine thank you

我想自动移动 textblock2 。

结果

 I am fine thank you

如果我将 TextBlock1 动态更改为较短的文本字符串并将它们并排放置,这也会是类似的情况,会有很多黑色空间。

4

2 回答 2

1

要将 textblock2 移动到 textblock1 的位置,您正在寻找 Visibility.Collapsed 而不是 Visibility.Hidden

对于自动宽度,您可能希望将列宽定义为 * 而不是固定宽度。

于 2013-07-09T23:12:41.620 回答
0

您应该将列 0 的宽度设置为 Auto,如下所示:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <TextBlock Grid.Column="0" x:Name="textblock1" Text="Textblock1"></TextBlock>
    <TextBlock Grid.Column="1" x:Name="textblock2" Text="Textblock2">  </TextBlock>
</Grid>
于 2013-07-10T03:36:29.130 回答