如何在WPF中创建文本框填充其他项之间的水平空间?

时间:2013-08-01 23:43:36

标签: c# wpf xaml

我正在尝试在左侧有一个单选按钮的堆栈面板,右侧有一个固定宽度的按钮,以及它们之间的文本框,当窗口调整大小时,它会拉伸以填充空间。

这似乎应该起作用:

<Grid >
  <Grid.ColumnDefinitions>
    <ColumnDefinition />
    <ColumnDefinition Width="Auto" />
    <ColumnDefinition />
  </Grid.ColumnDefinitions>
  <StackPanel HorizontalAlignment="Left">
    <RadioButton GroupName="FibOptions" IsChecked="True">Term Closest To N:</RadioButton>
    <RadioButton GroupName="FibOptions">Nth Term:</RadioButton>
  </StackPanel>
  <TextBox x:Name="FibInput" Grid.Column="1" />
  <Button Grid.Column="2" x:Name="FibGen" HorizontalAlignment="Right">Generate</Button>
</Grid>

但是上面的结果是一个很小的文本框,它基本上是一个位于该区域中间的垂直线。对此有何帮助?

1 个答案:

答案 0 :(得分:5)

将列宽设置为*,告诉它填充剩余空间,并将其他两个设置为auto

                    <ColumnDefinition Width="auto" />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="auto" />