2011-03-31 3 views
0

J'essaie d'implémenter un SharedResourceDictionary dans mon application WPF.Accès à la classe personnalisée dans ResourceDictionary

Christian Moser a écrit un court article et fourni la classe ici: http://www.wpftutorial.net/MergedDictionaryPerformance.html

je copiais sa classe dans un fichier de mes propres appelés SharedResourceDictionary.cs Mon problème se pose lorsque je tente de mettre en œuvre le XAML ci-dessous dans un de mes dictionnaires de ressources. Y a-t-il quelque chose que je devrais faire dans mon ResourceDictionary pour accéder à la classe?

<ResourceDictionary.MergedDictionaries> 
    <SharedResourceDictionary Source="/Brushes.xaml" /> 
</ResourceDictionary.MergedDictionaries> 

Merci

Répondre

0

m'a montré la réponse par un colleage, et je ne pas besoin d'un espace de noms.

Je devais placer SharedResourceDictionary.xaml dans un assembly séparé. Il y a une longue raison technique pour laquelle c'est le cas, mais je n'ai pas assez la tête pour donner une explication détaillée ici.

0

Vous devez ajouter l'espace de noms.

On suppose la classe SharedResourceDictionary réside dans l'espace de noms MyTools et est mis en œuvre dans l'ensemble MyCoolTools.dll:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:tools="clr-namespace:MyTools;assembly=MyCoolTools"> 
    <ResourceDictionary.MergedDictionaries> 
     <tools:SharedResourceDictionary Source="/Brushes.xaml" /> 
    </ResourceDictionary.MergedDictionaries> 
</ResourceDictionary> 
Questions connexes