【问题标题】:Absolutely centered content inside a WPF layout panelWPF 布局面板内绝对居中的内容
【发布时间】:2010-10-09 07:13:23
【问题描述】:

我需要找到一种在 WPF 中将 LayoutPanel 的内容绝对居中的方法。我有两个文本块元素,它们必须在面板的垂直和水平中心呈现,而不依赖于绝对高度和宽度。

这是我可以用单个元素轻松完成的事情,因为任何 ContentControl 都可以设置它的 verticalContentAlignment 属性,但是你只有一个子元素可以玩,我又回到了原点。

任何帮助将不胜感激。

【问题讨论】:

    标签: wpf layout alignment


    【解决方案1】:
    <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 子类来自动执行此操作。

    【讨论】:

    • 其实你不需要环绕网格。只需在 StackPanel 本身上设置 Horizo​​ntalAlignment 和 VerticalAlignment 属性就可以了。
    【解决方案2】:

    按我的要求修好了!

    我需要做的是在 ContentControl 中放置一个 StackPanel,并将 StackPanels VerticalAlignment 设置为 Center。现在看起来很明显!

    【讨论】:

    • 顺便说一句,如果您还没有使用 KaXaml,那么 KaXaml 是修复此类小问题的绝佳工具。比 Visual Studio/Blend 中的更改/重新编译要快得多 :-)
    猜你喜欢
    • 1970-01-01
    • 2016-02-01
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    相关资源
    最近更新 更多