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>