WPF上下文菜单间距在不同的Windows版本上有所不同

时间:2019-01-09 14:26:24

标签: c# wpf xaml

我们面临的一个问题是,我们看到上下文菜单之间的间距,尤其是Windows 10和Windows 7之间分隔符之间的间距不同。

context menu on windows 7 context menu on windows 10 对比例缩放感到抱歉,但是很明显,在Windows / top上,分隔符周围的间距大于Windows 10中的间距。

奇怪的是,我们看了目树,而Windows 10中的分隔符模板与Windows 7中的分隔符模板不同。 在Windows 10中,它包含一个边界对象, 在窗口7中有2个矩形的网格。

我们如何确保分隔符看起来相同? 为什么这实际上发生了?

1 个答案:

答案 0 :(得分:2)

  

为什么这实际上发生了?

因为内置控件的默认样式在Windows的不同版本和主题上看起来有所不同。

  

我们如何确保分隔符看起来相同?

如果要将特定Windows 7主题的外观应用于运行Windows 10的应用程序,则可以将主题资源字典添加到App.xaml文件中:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

在这种情况下,您需要引用相应的程序集PresentationFramework.Aero.dll