求助高手,WPF ContextMenu MenuItem的icon设置成透明,或者去掉icon

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助高手,WPF ContextMenu MenuItem的icon设置成透明,或者去掉icon相关的知识,希望对你有一定的参考价值。

参考技术A NotifyIcon里面有一个ContextMenuStrip属性,直接设置这个属性就可以了,不要在click事件中设置,这是我以前写的一个项目中截的,粘给你看看:
System.Windows.Forms.ContextMenuStrip contextMenu = new System.Windows.Forms.ContextMenuStrip();
System.Windows.Forms.ToolStripMenuItem item1 = new System.Windows.Forms.ToolStripMenuItem();
item1.Click += new EventHandler(item1_Click);
item1.Text = "显示主面板";
System.Windows.Forms.ToolStripMenuItem item2= new System.Windows.Forms.ToolStripMenuItem();
item2.Text = "退出";
item2.Click += new EventHandler(item2_Click);
contextMenu.Items.Add(item1);
contextMenu.Items.Add(item2);
this.notifyIcon.ContextMenuStrip = contextMenu;
参考技术B 设置icon的background为透明既可本回答被提问者和网友采纳

WPF ContextMenu 文本对齐

【中文标题】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 MenuItem的icon设置成透明,或者去掉icon的主要内容,如果未能解决你的问题,请参考以下文章

[WPF]解决模板中ContextMenu绑定CommandParameter的问题

在wpf中,给button加上背景图片。点击button会不停的闪烁。求助高手!

求助winform基础知识

WPF左键点按钮弹出菜单如何实现

menuitem和contextmenu crossbrowser兼容性

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