WPF-xaml中的相对定位

WPF-xaml中的相对定位,wpf,Wpf,是否可以在XAML定义中相对于另一个控件定位控件? 例如,如果我想将控件精确地放置在另一个更宽的控件的中间。 如果是这样的话-怎么做?如果您想将控件居中,可以将它们包装在网格中: <Grid> <TextBox Height="132" Width="229" VerticalAlignment="Center" HorizontalAlignment="Center" /> <Button Content="Button" Height="23

是否可以在XAML定义中相对于另一个控件定位控件?
例如,如果我想将控件精确地放置在另一个更宽的控件的中间。
如果是这样的话-怎么做?

如果您想将控件居中,可以将它们包装在网格中:

<Grid>
    <TextBox Height="132"   Width="229" VerticalAlignment="Center" HorizontalAlignment="Center" />
    <Button Content="Button" Height="23" Width="75" VerticalAlignment="Center" HorizontalAlignment="Center" />
</Grid>

其他定位可通过StackPanel等其他面板完成。网格是最灵活的选择

编辑:使用网格和列更新以控制位置:

<Grid Height="50" Width="200">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="50*" />
        <ColumnDefinition Width="20*" />
        <ColumnDefinition Width="75*" />
    </Grid.ColumnDefinitions>
    <TextBox Grid.Column="0" Background="Red" />
    <Button Content="Button"  Grid.Column="2"   />
</Grid>


对于初学者,您是否尝试将HorizontalAlignment=“Center”用于内部控件?控件居中只是一个示例。我正在寻找更一般的:)好的,但是将控件居中只是一个例子。如果我想让一个控件在另一个控件之后启动20个单位呢?我只是输入了一些随机数。你应该能够通过宽度、高度、列和行间距来获得所需的位置。那么这一切都是通过面板完成的?控件不能使用宽度或高度等属性吗?控制子元素的位置是面板的目的。如果你问我的话,其实很好。