Silverlight - 自动调整文本框大小以填充空白区域

时间:2010-07-13 09:42:19

标签: silverlight layout textbox resize

好的,这就是我想做的。

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

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

现在我想做的是中间的textBox总是填满textBlock和button之间的所有空白区域。

我该怎么做?

我尝试使用以下代码,但由于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 个答案:

答案 0 :(得分:1)

您可以将Auto用于两个外部列宽,而不是指定宽度

<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