我有以下标记:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock x:Name="Col1" Text="Text1" Grid.Column="0" />
<TextBlock x:Name="Col2" Text="Text12" Grid.Column="1" />
</Grid>
如果我在Col1
中放了很多文字,那么它就超出了屏幕,根本看不到Col2
。我想改变这种行为,如果Col1
中的文字太多,那么它的宽度会减小,以便可以完全看到Col2
。
另一方面,如果我将标记更改为:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock x:Name="Col1" Text="Text1" Grid.Column="0" />
<TextBlock x:Name="Col2" Text="Text12" Grid.Column="1" />
</Grid>
以下图片说明了我希望TextBlocks的行为:
两个TextBlocks的组合宽度小于屏幕,因此它们一个接一个地进行。
第一个文本块非常长,因此会对其进行裁剪,以便在屏幕中包含第二个TextBlock。
当Col1
包含大量文字时,一切正常,但当文字数量较小时,Col1
和Col2
之间存在差距。在这两种情况下,我该怎么做才能获得理想的行为?
答案 0 :(得分:1)
订正;
<Grid HorizontalAlignment="Left">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="Col1" Text="Text1" />
<TextBlock x:Name="Col2" Text="Text12" Grid.Column="1" TextWrapping="Wrap" />
</Grid>
然后请记住限制它们的整体尺寸,这将放在父面板容器中,就像另一个Grid