2010-07-13 72 views
0

好的这就是我想要做的。Silverlight - 自动调整文本框的大小以填满空白区域

我有一个可调整大小的窗口,其中有3个控件在同一行中按顺序排列:textBlock,textBox和button。

textBlock和按钮具有动态文本。所以他们的大小取决于里面的文字。

现在我想要做的是,中间的文本框始终填满textBlock和按钮之间的所有空白空间。

我如何做到这一点?

我试着用下面的代码,但它不工作,因为固定宽度在1.和3.列。

<Grid Margin="0,0,5,0" > 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="40"/> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="40"/> 
    </Grid.ColumnDefinitions>         
    <TextBlock Grid.Column="0" HorizontalAlignment="Left" Text="Text1"/> 
    <TextBox Grid.Column="1"/> 
    <Button Grid.Column="2" Content="Button1" HorizontalAlignment="Center"/> 
</Grid> 

回答

1

您可以使用自动为两米外柱的宽度,而不是指定宽度

<Grid Margin="0,0,5,0" > 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto" /> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="Auto" /> 
    </Grid.ColumnDefinitions>         
    <TextBlock Grid.Column="0" Text="Text1" /> 
    <TextBox Grid.Column="1"/> 
    <Button Grid.Column="2" Content="Button1" /> 
</Grid> 

你可能不需要的Horizo​​ntalAlignment在列,列

+0

的谢谢你,它的工作原理= ) – Gapipro 2010-07-13 11:07:46