正如在主题中已经提到的那样,我注意到windows8的行为与windows7不同,它们融合了一些主要的控件。 我第一次在windows8中打开我的应用程序时发现了以下内容:
为组合框设置背景颜色对windows8没有影响,但对于文本框可以正常工作。 我不得不覆盖组合框的整个控制模板,以便为一些组合框提供我想要的颜色。
我在Windows 8上遇到的另一个问题是,我的文本框的所有内容在默认情况下都不会垂直居中,所有内容都与顶部对齐。 在Windows7中,默认情况下,所有内容都垂直居中,而不设置VerticalContentAlignment属性。 好吧,没有必要再次覆盖文本框的整个模板,如组合框之前所要求的那样。将VerticalContentAlignment属性设置为所有tetxbox的“居中”工作。
到目前为止我注意到的第3个问题是,我无法在大于16x16的MenuItems中显示图标。 我所有的MenuItem都有一个20x20大小的Icon,在windows7中显示得很好。 在Windows8中,我的所有图标都被裁剪为16x16。
我使用了以下代码,在Windows7中运行良好:
<MenuItem Header="I'm a header">
<MenuItem.Icon>
<Image Source="Image.png" Height="20" Width="20" />
</MenuItem.Icon>
</MenuItem>
...但在Windows8上没有。
我敢打赌,在Windows8上存在更多小问题。
任何人都知道Windows8中该行为的原因是什么?
答案 0 :(得分:0)
我看了一下microsoft连接页面,我已经将两个描述的问题报告为错误,组合框背景和图像裁剪为16x16的菜单项。
答案 1 :(得分:0)
只需提取组合框和菜单项的模板,无需进行任何更改 并将其设置为样式修复了Windows8上的问题。
现在你可以像往常一样使用compbox的background属性,并且设置menuitem图标的高度和宽度现在也可以。