WPF ContextMenu 文本对齐

Posted

技术标签:

【中文标题】WPF ContextMenu 文本对齐【英文标题】:WPF ContextMenu text alignment 【发布时间】:2010-10-30 01:42:25 【问题描述】:

我正在为 WPF 应用程序构建一个上下文菜单,如果我有文本然后我添加了一个图像,文本总是在菜单项的顶部对齐,我不知道如何将它与中心。

我尝试了VerticalAlignmentVerticalContentAlignment 属性,但它们没有帮助.. 有什么想法吗?

【问题讨论】:

【参考方案1】:

我想这取决于您用于托管文本和图像的面板类型。我尝试使用StackPanel,添加VerticalAlignment="Center" 后,文本对齐正确。如果仍然不适合您,请提供更多信息。

<Button Content="Right-click me">
    <Button.ContextMenu>
        <ContextMenu>
            <MenuItem>
                <MenuItem.Header>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock VerticalAlignment="Center">Menu item 1</TextBlock>
                        <Image Source="image.png" Height="50" />
                    </StackPanel>
                </MenuItem.Header>
            </MenuItem>
        </ContextMenu>
    </Button.ContextMenu>
</Button>

【讨论】:

【参考方案2】:

每当我遇到这种情况时,我都会启动 Snoop (https://github.com/snoopwpf/snoopwpf) 并使用它来确定哪个控件对齐不正确。

【讨论】:

以上是关于WPF ContextMenu 文本对齐的主要内容,如果未能解决你的问题,请参考以下文章

WPF:对齐标签的基线及其文本框

WPF文本框中的垂直对齐

wpf如何设置 textbox文本垂直居中对齐

WPF:如何设置或禁用 TextBox 的默认 ContextMenu

WPF Groupbox 控件标题与按钮和文本对齐相反

在 WPF 中打开 ContextMenu 时保留 DataGrid IsSelectionActive?