好的,这就是我想做的。
我有一个可调整大小的窗口,它按顺序在同一行中有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>
答案 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>
您可能不需要列中的HorizontalAlignment