WPF上下文菜单不是Windows 10风格

时间:2016-12-06 19:15:46

标签: c# .net wpf

我正在开发一个简单的WPF应用程序。我没有使用任何自定义样式。因此它在Windows 7和10上看起来是原生的。但是今天我注意到在Windows 10上的上下文菜单看起来很奇怪:

Screenshot

在其他应用程序(如7-Zip)中,上下文菜单看起来是原生的:

Z-Zip

如何在不破坏Windows 7本机外观的情况下将平面Window 10样式应用于我的上下文菜单?

澄清:我的上下文菜单左侧有一条3D分割线,左侧有一个边框。在7-Zip,Explorer和其他应用程序中,既没有3D分割线也没有围绕选择的边框。我使用的WPF应用程序看起来与Java Swing不同,是一个nativ的Windows应用程序。

2 个答案:

答案 0 :(得分:1)

  

但是今天我注意到Windows 10上下文菜单看起来很奇怪:

奇怪与否,这实际上是Windows 10上默认的WPF ContextMenu的样子。

  

如何在不破坏Windows 7本机外观的情况下将平面Window 10样式应用于我的上下文菜单?

您需要自己定义这个“平面窗口10风格”。有一个示例,说明如何在MSDN上创建可用于启动的自定义ContextMenu样式:https://msdn.microsoft.com/en-us/library/ms744758%28v=vs.110%29.aspx。没有快速解决方法。

答案 1 :(得分:0)

你正在挂断快捷键(>,Enter,Ctrl + PgDn等)。您的应用程序未分配任何内容,而7-zip 分配它们。或许,概述。不要被扔掉。事情正如他们应该的那样工作。

但是,我们不要忽视这样一个事实,即如果7-zip不是用WPF编写的,那么你不能指望相同的结果。