如何防止Silverlight xaml网格中的列占用整行?
我想在网格中显示两列。第一个是文本块,它有时比用来容纳它的行长。第二个是按钮。有没有一种方法可以在给textblock尽可能多的空间的同时,仍然为按钮留下空间 当我使用下面的代码时,textblock有时会在网格的可视区域外按下按钮如何防止Silverlight xaml网格中的列占用整行?,xaml,silverlight-4.0,Xaml,Silverlight 4.0,我想在网格中显示两列。第一个是文本块,它有时比用来容纳它的行长。第二个是按钮。有没有一种方法可以在给textblock尽可能多的空间的同时,仍然为按钮留下空间 当我使用下面的代码时,textblock有时会在网格的可视区域外按下按钮 <Grid > <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="
<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。对不起,我在帖子里忘了提那件事。我确实找到了一种方法,但有点笨重。