Horizo​​ntalAlignment 设置为 Stretch AND Left 的文本框

Vac*_*ano 2 .net wpf xaml alignment

注意:我阅读了这个问题及其答案:Horizo​​ntalAlignment=Stretch、MaxWidth 和 Leftalignment at the same time? 。他们都没有做我正在寻找的事情。


我有以下 xaml:

<Grid ShowGridLines="True" x:Name="_testGrid" Height="30" >
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="*"></ColumnDefinition>
    <ColumnDefinition Width="*"></ColumnDefinition>
    <ColumnDefinition Width="*"></ColumnDefinition>
  </Grid.ColumnDefinitions>

  <TextBox Text="Text 1" HorizontalAlignment="Stretch"
          MaxWidth="75" Margin="5"/>
  <TextBox Grid.Column="1" Text="Text 2" Margin="5"                 
       HorizontalAlignment="Stretch" MaxWidth="130"/>
  <TextBox Grid.Column="2"  Text="Text 3" Margin="5"               
       HorizontalAlignment="Stretch" MaxWidth="100"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)

它产生这个:

三个文本框位于其列的中心

此设置具有很好的调整大小支持。如果窗口缩小,则文本框也会缩小。

唯一的问题是我需要它们保持对齐:

显示我想要文本框的位置

我看到的所有解决方案最终都会砍掉文本框的一部分(而不是缩小它)。

我正在寻找的东西可以通过 WPF 实现吗?

Vac*_*ano 5

在这里找到了答案。

它仅适用于网格。这是更新后的 xaml:

<Grid ShowGridLines="True" x:Name="_testGrid" Height="30" >
  <Grid.ColumnDefinitions>
    <ColumnDefinition MaxWidth="75" Width="*"/>
    <ColumnDefinition Width="0.01*" />
    <ColumnDefinition MaxWidth="130" Width="*"/>
    <ColumnDefinition Width="0.01*" />
    <ColumnDefinition MaxWidth="100" Width="*"/>
    <ColumnDefinition Width="0.01*" />
  </Grid.ColumnDefinitions>

  <TextBox Grid.Column="0" Text="Text 1" Margin="5"/>
  <TextBox Grid.Column="2" Text="Text 2" Margin="5"  />
  <TextBox Grid.Column="4" Text="Text 3" Margin="5" />
</Grid>
Run Code Online (Sandbox Code Playgroud)