Tło Combobox nie jest stosowane w systemie Windows 8

Jestem trochę zmieszany z motywami wpf. Chciałbym, aby ekrany wpf wyglądały tak samo w systemach Vista, Windows 7 i Windows 8. Dlatego odpowiednio zaprojektowałem komponenty i nie stwarzają one problemów z wyjątkiem sytuacji, gdy są uruchamiane w systemie Windows 8. Na przykład mam combobox i jestem zmiana domyślnego tła w xaml w ten sposób.

<Style TargetType="{x:Type ComboBox}" >
    <Setter Property="FontStyle" Value="Normal"/>
    <Setter Property="Height" Value="24" />
    <Setter Property="Background" Value="{StaticResource GradientButtonBackgroundBrush}"/>
</Style>

Właściwość tła combobox nie działa w systemie Windows 8, a wszystko, co dostaję, to płaski prostokąt ze strzałką po prawej stronie (domyślny combobox systemu Windows 8, który jest raczej źle zaprojektowany!).

Tak więc moje pytanie brzmi: jak sprawić, by combobox wyglądał tak samo we wszystkich wersjach okien. Próbowałem dodać motyw Windows Aero w moim App.xaml jak poniżej, ale nie ma to wpływu na wyświetlacz combobox. Oto, jak dodałem motyw Aero

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/PresentationFramework.Aero;component/themes/aero.normalcolor.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>

Istnieją również inne wątpliwości dotyczące tematów. Buduję aplikację wpf na komputerze z systemem Windows 7, który domyślnie (jak sądzę) ma zestaw motywów Aero. Tak więc wszystkie moje style są oparte na motywie Aero oglądanym na komputerze z systemem Windows 7. Co się stanie, jeśli uruchomię aplikację na przykład XP. Czy muszę dodać wpis dla słownika zasobów (motyw Aero) w App.xaml, jak wymieniono w powyższym kodzie?

Wiem, że moje pytanie jest nieco niejasne, ale uwierzcie mi, jestem bardzo zmieszany z domyślnymi motywami wpf w różnych wersjach systemu Windows.

EDYTOWAĆ: Nadal nie mogę uzyskać stylu combobox zgodnie z moimi potrzebami. Kombinacja nadal wygląda jak szary prostokąt.

Oto co zrobiłem. Pobrałem Aero.NormalColor.xaml z witryny microsoft i uwzględniłem w folderze motywów aplikacji. Następnie dodałem następujące w App.xaml

    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/Themes/Aero.NormalColor.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>

Następnie skompilowałem aplikację i wdrożyłem ją w Windows 8. Nadal ten sam zestaw kombi jak pokazano wcześniej. Zauważ, że wszystkie inne elementy są odpowiednio stylizowane zgodnie z tematem. Zrobiłem to samo z Luna.Metallic.xaml i każdy element jest stylizowany z wyjątkiemComboBox.

Wierzę, że kiedy załaduję konkretny motyw, który definiuje style za pomocąPłyta kontrolna, to powinno być wybrane przez wpf. Jestem zdezorientowany, dlaczego tylkoComboBox nawet po nadaniu mu szablonu kontrolnego Aero (lub Luna) nie zmienia się jego wygląd. Jakieś pomysły ?

EDIT-2 Zrzut ekranu z wyglądem combobox na Windows 8

questionAnswers(5)

yourAnswerToTheQuestion