我需要找到一种绝对居中WPF中LayoutPanel内容的方法。我有两个文本块元素必须在面板的垂直和水平中心渲染,而不依赖于绝对高度和宽度。
这是我可以用一个元素轻松完成的事情,因为任何ContentControl都可以设置它的verticalContentAlignment属性,但是你只有一个子元素可以玩,我回到原点。
任何帮助都会受到大力赞赏。
答案 0 :(得分:17)
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid VerticalAlignment="Center">
<StackPanel HorizontalAlignment="Center">
<TextBlock>First</TextBlock>
<TextBlock>and the second</TextBlock>
</StackPanel>
</Grid>
</Window>
您也可以编写自己的Panel
子类来自动执行此操作。
答案 1 :(得分:2)
修正了我的问题!
我需要做的是将StackPanel放在ContentControl中并将StackPanels VerticalAlignment设置为Center。现在看来很明显!