2017-03-24 4 views
0

Ich möchte theming-Unterstützung für meine Anwendung implementieren. Ich weiß, wie man das macht, indem man Resource Dictionaries auf externen Assemblys benutzt und sie zur Laufzeit anwendet, aber ich möchte Themen aktivieren, die benutzerdefinierte Designeinstellungen und/oder Farbpaletten verwenden. Ich weiß nicht, wie es am besten geht.WPF-Designs mit benutzerdefinierten Designeinstellungen

Meine Idee ist es, ein Thema zu erklären, wie diese unter Verwendung von Markup:

<Theme Name="MyTheme" 
     Description="Simple example theme" 
     Icon="MyTheme.ico" 
     Thumbnail="thumbnail.png"> 
    <Theme.Settings> 
     <Setting Key="EnableShadows" Text="Enable theme shadows" Type="{x:Type system:Boolean}" Value="True"/> 
    </Theme.Settings> 
    <Theme.Resources> 
     <ResourceDictionary> 
      <ResourceDictionary.MergedDictionaries> 
       <ResourceDictionary Source="MyTheme.xaml"/> 
      </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </Theme.Resources> 
</Theme> 

Nun, der Code-Snippet nur eine Möglichkeit ist es getan werden könnte. Meine Frage ist, wie könnte ich so etwas in WPF machen (wie man eine Theme-Klasse erstellt, die auf diese Weise als Theme verwendet werden kann).

+0

Ich habe es durch Erben von ResourceDictionary Klasse geschafft. Durch Zusammenführen von benutzerdefinierten ResourceDictionaries verschiedener Typen, Erstellen eines Baumes, kann ich jetzt benutzerdefinierte Eigenschaften für jeden Wörterbuchtyp implementieren und auf diese Weise den Fluss von Wörterbüchern auf Anwendung steuern ThemesManager-Klasse. Dies gibt mir die Möglichkeit, eine Theme-Klasse geerbt von ResourceDictionary, die eigene Eigenschaften (wie Name, Symbol, etc.) hat, und mehrere SubTheme und ColorTheme-Klassen (auch von ResourceDictionary übernommen) integriert haben. –

Antwort

0

Thematisierung in WPF ist eine sehr große Sache, dass auf Stackoverflow wird nicht anwsered ... nimmt eine Menge an mehreren Pro-Komponenten wie mahapps oder wpf toolkit oder ein application. viel Glück .

Verwandte Themen