WPF上的WPF Combobox渲染

时间:2010-11-24 07:14:52

标签: wpf combobox windows-xp rendering

我在XP上使用简单的组合框渲染时遇到问题。

代码只是:

<ComboBox Cursor="Hand" customCommands:ComboBoxSelectionChange.Command="{Binding StatusChange}" ItemsSource="{Binding AvailabilityStatusList}"/>

然而,不同操作系统的结果并不是我所预期的:

Vista:Combobox Vista
XP:Combobox XP

2 个答案:

答案 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考虑了操作系统主题,因此您的用户界面将与操作系统表面的其余部分保持一致。

如果你想创建一个“与操作系统无关”的外观(即在不同的操作系统中保持相同的外观),你必须重新模板化。