控件在 Stretch 上的重排

Control's rearrangement on Stretch

我有一个用户控件,里面有一些文本框和文本块。我试图在文本框拉伸时移动控件。使用:

<WrapPanel Orientation="Horizontal" Height="200"> 
      <.... />
</WrapPanel>

行不通。任何想法如何实现这样的目标?我是否必须创建一些覆盖 Measure() 的自定义布局?

这对我有用:

<WrapPanel>
    <TextBlock Width="auto" MinWidth="100">a block</TextBlock>
    <TextBox Width="auto" MinWidth="100"/>
    <TextBlock Width="auto" MinWidth="100">next block</TextBlock>
    <TextBox Width="auto" MinWidth="100"/>
</WrapPanel>

您也可以删除文本块的最小宽度。

编辑或这个

<StackPanel>
    <WrapPanel>
        <TextBlock Width="auto" MinWidth="100">a block</TextBlock>
        <TextBox Width="auto" MinWidth="100"/>
    </WrapPanel>
    <WrapPanel>
        <TextBlock Width="auto" MinWidth="100">next block</TextBlock>
        <TextBox Width="auto" MinWidth="100"/>
    </WrapPanel>
</StackPanel>