Les Styles de génériques.xaml ne sont pas appliquées

J'ai fait une classe de la bibliothèque de l'assemblée dans laquelle j'ai créé des contrôles personnalisés, et j'ai défini les styles par défaut dans le générique.fichier xaml.

Il semble que ce soit un problème assez fréquent, aussi longtemps que beaucoup de gens l'affichage sur elle.
Cependant, je ne pouvais pas trouver une réponse utile pour mon cas.

  • le générique.xaml est dans le dossier Thèmes.
  • la generix.fichier xaml Action de génération est définie à la Page.
  • la ThemeInfo est correctement défini dans mon AssemblyInfo.cs.

Dans mon test de l'application, si j'ai fusionner manuellement les génériques.fichier xaml de mon contrôles personnalisés assemblage dans l'application de l'App.fichier xaml comme ceci:

<Application.Resources>
  <ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
      <ResourceDictionary Source="/MyControlsAssembly;component/Themes/generic.xaml"/>
    </ResourceDictionary.MergedDictionaries>
  </ResourceDictionary>
</Application.Resources>

ensuite les commandes personnalisées sont correctement sur le thème, mais si je n'ai pas fusionner manuellement les génériques.xaml, les contrôles apparaissent avec le thème par défaut de Windows.

Pourriez-vous s'il vous plaît dites-moi ce que je n'oublie pas et/ou faire du tort ?

Informations supplémentaires:

  • Mon ThemeInfo assemblée attribut est défini comme suit:

    [assembly: ThemeInfo(ResourceDictionaryLocation.SourceAssembly, ResourceDictionaryLocation.SourceAssembly)]

    (Remarque: le résultat est le même avec n'importe quelle combinaison de paramètres pour le ThemeInfo attribut)

  • Il y a deux autres .les fichiers xaml à côté du générique.fichier xaml dans le dossier Thèmes.
  • Il y a un sous-dossier dans le dossier Thèmes, qui contient lui-même un autre .fichier xaml.
Avez-vous encore le DefaultStyleKeyProperty situé dans un constructeur statique sur vos commandes personnalisées?
Aucune chance de trouver celui-ci? J'ai presque exactement la même chose avec mes contrôles personnalisés de l'assemblée. Si j'ajoute une référence dans l'App.config pour le générique.fichier xaml puis les commandes sont à thème. Si je laisse cela je ne reçois rien.
Ce lien s'appliquer? social.msdn.microsoft.com/Forums/vstudio/en-US/... j'ai pris suis confronté au même problème, et je pense que c'est la cause de racine
Une solution à ce problème? Je suis en train de vivre exactement la même chose, et en suivant les étapes suggérées ici ou dans le blogs.magnatis.com/tim/dude-wheres-my-default-style n'aide pas. J'ai besoin d'inclure la fusion en Application.le code xaml comme dans ce post.
L'ajout de ThemeInfo dans AssemblyInfo.cs de la bibliothèque de contrôle a fait l'affaire pour moi. J'ai utilisé (Aucun, SourceAssembly).

OriginalL'auteur Sebastien ROBERT | 2012-06-22