2014-01-26 13 views
11

Ich bin relativ neu zu WPF und ich versuche, Windows Metro Dark Theme auf meine gesamte Anwendung anzuwenden.Anwenden von MahApps.Metro Dunkles Design

Ich habe die folgenden in meiner Apps.xaml verwendet und ich kann das Windows Metro Light Thema richtig sehen.

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

Jetzt möchte ich das Thema zu Dark ändern. Ich verstehe, kann ich immer gebrauchen,

ThemeManager.ChangeTheme()

Aber ich glaube, es sollte ein Weg sein, diese effektiv zu allen Fenstern der Anwendung mit XAML zu tun.

Meine Frage: Kann mir jemand zeigen, wie dies ohne ThemeManager im Quellcode tun?

+0

Sie können baehavior schaffen, das zu erreichen. Siehe hierzu - http://svetoslavsavov.blogspot.in/2009/07/switching-wpf-interface-themes-at.html –

+0

@RohitVats: Wie finde ich die verfügbaren Optionen und Pfade? Durch Objekt-Explorer? –

Antwort

18

Versuchen Sie BaseDark anstelle von BaseLight zu verwenden. Versuchen Sie, diese Linie zu ändern:

<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" /> 

dazu:

<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseDark.xaml" /> 

, die den Trick für mich getan hat. Screenshot meiner Anwendung mit MahApps BaseDark und Base Akzente:

BaseDark enter image description here Base enter image description here

+0

Great.Vielen Dank. Das war der, an den ich dachte? Aber noch eine Frage. Wie bekomme ich die verfügbare Liste der Akzente? :-) –

+0

nun, ich vermute, dass akzente ein teil sind, der noch nicht dokumentiert wurde (kann nirgends dokumentation darüber finden). Aber Sie können Akzent-Liste bekommen, indem Sie die Quelle [hier] (https://github.com/MahApps/MahApps.Metro/tree/master/MahApps.Metro/Styles/Accents) – har07

+0

Und eine interessante Beobachtung. Ich erstelle ein neues Fenster aus dem Elternfenster. neues childWindow(). show(). Das Thema wurde angewendet, aber ich kann sehen, dass die Titelleiste nicht im Metro-Stil ist. Alle Controller sind in Metro. Ich untersuche das. Irgendeine Ahnung? –

Verwandte Themen