Xaml 网格列的大小由内容宽度决定,但受网格宽度的约束
我有以下标记:Xaml 网格列的大小由内容宽度决定,但受网格宽度的约束,xaml,resize,grid,windows-phone-8,Xaml,Resize,Grid,Windows Phone 8,我有以下标记: <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <TextBlock x:Name="Col1" Text="Text1" Grid.Column="0"
<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>
以下是我希望TextBlocks如何工作的图片:
两个文本块的组合宽度比屏幕小,所以它们一个接一个地移动。
第一个文本块很长,所以为了在屏幕中包含第二个文本块,会对其进行裁剪。
当Col1
有大量文本时,一切都正常,但是当文本量很小时,Col1
和Col2
之间存在差距。在这两种情况下,我应该怎样做才能获得想要的行为
<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>
然后请记住,要限制它们的总体大小,这将像另一个
网格一样放置在父面板容器中。当两个TextBlock的组合宽度小于屏幕大小时,我希望第一个TextBlock后面紧跟第二个TextBlock,并且它们之间没有空格(所以前一个字符不起作用)。如果组合宽度大于屏幕大小,我希望减少第一个文本块,这样它就不会将第二个文本块推离屏幕。我想我明白了,试试第一个示例的编辑版本。Chris,这仍然不能完全剪切它。我已经更新了我的问题,并提供了一些图片来说明我想要的内容。试一试修订后的版本。@George-那么您在使用这些框架元素方面的布局是错误的。另外(但这并不重要)问题是针对基于silverlight的windows phone,因此wpf项目会有细微的区别。我想说,用代码询问您的具体问题,以代表您当前的问题。
<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>