2010-11-24 2 views
1

У меня есть проблема с простой рендерингом combobox на XP.WPF Combobox рендеринг на XP

Код просто:

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

Однако результат на разных операционных системах, не совсем я уже ожидал:

Vista: Combobox Vista
XP: Combobox XP

ответ

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

выпадающий список - как и большинство других элементов управления, учитывает тему ОС, так что ваш пользовательский интерфейс будет соответствовать остальной части ОС.

Если вы хотите создать «внешний вид OS-agnostic» (т. Е. Придерживаться одного и того же взгляда в разных операционных системах), вам придется повторно его подстроить.

+0

Я не хочу (или необходимость) повторно-шаблон это, я просто хочу это выглядеть достойно. На скриншоте вы можете четко видеть, что стандартный результат на XP искажен. – sagibb 2010-11-24 15:17:26

+0

Не искажается. Просто вы должны установить его высоту. Попробуйте Height = "20", и он будет выглядеть по-волшебному, как вы хотите. – 2010-11-24 16:06:01

Смежные вопросы