Wpf 为什么在某些控件的主题化方面,Windows8的行为与windows7不同?

Wpf 为什么在某些控件的主题化方面,Windows8的行为与windows7不同?,wpf,windows-8,theming,Wpf,Windows 8,Theming,正如在本主题中已经提到的,我注意到windows8的行为与windows7不同,它集中了一些控件的主题。 第一次在windows8中打开应用程序时,我注意到以下几点: 为组合框设置背景色在windows8上没有效果,但对文本框效果很好。 我必须覆盖combobox的整个controltemplate,以便为某些combobox恢复所需的颜色 我在Windows8上遇到的另一个问题是,默认情况下,我文本框的所有内容不再垂直居中,所有内容都与顶部对齐。 在windows7中,默认情况下,所有内容都垂

正如在本主题中已经提到的,我注意到windows8的行为与windows7不同,它集中了一些控件的主题。 第一次在windows8中打开应用程序时,我注意到以下几点:

为组合框设置背景色在windows8上没有效果,但对文本框效果很好。 我必须覆盖combobox的整个controltemplate,以便为某些combobox恢复所需的颜色

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

到目前为止,我注意到的第三个问题是,我无法在大于16x16的菜单项中显示图标。 我所有的菜单都有一个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中出现这种行为的原因吗?

我查看了microsoft connect页面,我描述的两个问题已经报告为bug,combobox背景和将menuitems的图像裁剪为16x16。

只需提取combobox和menuitem的模板,而无需进行任何更改 并将其设置为style可修复windows8上的问题

现在您可以像往常一样再次使用compbox的background属性,设置menuitem图标的高度和宽度现在也可以了