如何防止Silverlight xaml网格中的列占用整行?

如何防止Silverlight xaml网格中的列占用整行?,xaml,silverlight-4.0,Xaml,Silverlight 4.0,我想在网格中显示两列。第一个是文本块,它有时比用来容纳它的行长。第二个是按钮。有没有一种方法可以在给textblock尽可能多的空间的同时,仍然为按钮留下空间 当我使用下面的代码时,textblock有时会在网格的可视区域外按下按钮 <Grid > <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="

我想在网格中显示两列。第一个是文本块,它有时比用来容纳它的行长。第二个是按钮。有没有一种方法可以在给textblock尽可能多的空间的同时,仍然为按钮留下空间

当我使用下面的代码时,textblock有时会在网格的可视区域外按下按钮

<Grid >
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
    <TextBlock Grid.Column="0" Text="{Binding Description}" HorizontalAlignment="Stretch" />
    <Button Margin="4,0" Height="0" Width="16" Grid.Column="1" MinWidth="20" VerticalAlignment="Center" />
</Grid>

我已尝试设置第一列定义宽度=“*”,但当我希望按钮位于文本旁边时,按钮总是位于行的最末尾。有什么建议吗

这是Silverlight 4

谢谢

编辑
我希望网格随着用户更改窗口大小而调整大小,因此设置网格大小的硬限制是不好的。也就是说,当文本块加载和窗口大小改变时,我能够在代码中手动设置MaxWidth。它很笨重,但很管用。

下面的内容肯定会管用。

<Grid x:Name="LayoutRoot" Background="White" Width="250">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
    <TextBlock x:Name="textBlock" Grid.Column="0" Text="Text Box" VerticalAlignment="Top"/>
    <Button x:Name="button" Grid.Column="1" Content="Button" VerticalAlignment="Top"  Width="60"/>
</Grid>
public MainPage()
{
    InitializeComponent();
    textBlock.MaxWidth = LayoutRoot.Width - button.Width;
}
如果有任何问题,请告诉我


谢谢..

当我希望它能够随着用户更改窗口大小而扩展或收缩时,这会将宽度限制为250 px。对不起,我在帖子里忘了提那件事。我确实找到了一种方法,但有点笨重。