WPF-xaml中的相对定位
是否可以在XAML定义中相对于另一个控件定位控件?WPF-xaml中的相对定位,wpf,Wpf,是否可以在XAML定义中相对于另一个控件定位控件? 例如,如果我想将控件精确地放置在另一个更宽的控件的中间。 如果是这样的话-怎么做?如果您想将控件居中,可以将它们包装在网格中: <Grid> <TextBox Height="132" Width="229" VerticalAlignment="Center" HorizontalAlignment="Center" /> <Button Content="Button" Height="23
例如,如果我想将控件精确地放置在另一个更宽的控件的中间。
如果是这样的话-怎么做?如果您想将控件居中,可以将它们包装在网格中:
<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个单位呢?我只是输入了一些随机数。你应该能够通过宽度、高度、列和行间距来获得所需的位置。那么这一切都是通过面板完成的?控件不能使用宽度或高度等属性吗?控制子元素的位置是面板的目的。如果你问我的话,其实很好。