我在XP上使用简单的组合框渲染时遇到问题。
代码只是:
<ComboBox Cursor="Hand" customCommands:ComboBoxSelectionChange.Command="{Binding StatusChange}" ItemsSource="{Binding AvailabilityStatusList}"/>
然而,不同操作系统的结果并不是我所预期的:
Vista:
XP:
答案 0 :(得分:3)
您可以强制WPF应用程序应用某个Windows标准方案,而不管当前的Windows版本(例如XP与Vista)。
要强制您使用Aero主题(Vista),请将其放在App.xaml中:
<!-- Use the Aero scheme for your application, regardless the currently applied Windows Theme or OS Version. -->
<ResourceDictionary
Source="/PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
答案 1 :(得分:1)
与大多数其他控件一样,ComboBox考虑了操作系统主题,因此您的用户界面将与操作系统表面的其余部分保持一致。
如果你想创建一个“与操作系统无关”的外观(即在不同的操作系统中保持相同的外观),你必须重新模板化。