3

正如主题中已经提到的那样,我注意到 windows8 的行为与 windows7 不同,它们在控制一些主题化的东西方面。当我第一次在 windows8 中打开我的应用程序时,我注意到以下内容:

为组合框设置背景颜色对 windows8 没有影响,但对文本框效果很好。我必须覆盖组合框的整个控件模板,才能为某些组合框恢复我想要的颜色。

我在 Windows 8 上遇到的另一个问题是,默认情况下,我的文本框的所有内容都不再垂直居中,所有内容都与顶部对齐。在 windows7 中,所有内容默认垂直居中,无需设置 VerticalContentAlignment 属性。很高兴它不需要再次覆盖文本框的整个模板,就像之前组合框所要求的那样。将所有 tetxbox 的 VerticalContentAlignment 属性设置为“中心”。

到目前为止,我注意到的第三个问题是,我无法在大于 16x16 的 MenuItems 中显示图标。我所有的 MenuItems 都有一个 20x20 大小的图标,并且在 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 中这种行为的原因是什么?

4

2 回答 2

0

我查看了 microsoft connect 页面,我描述的两个问题已经被报告为错误,组合框背景和将图像裁剪为 16x16 的菜单项。

于 2013-03-13T07:19:54.623 回答
0

只需提取组合框和菜单项的模板而不进行任何更改并将其设置为样式即可修复 windows8 上的问题。

现在您可以再次像往常一样使用组合框的背景属性,并且设置菜单项图标的高度和宽度现在也可以正常工作。

于 2013-03-13T08:20:40.447 回答