J'ai une application WPF contenant MainWindow qui affiche juste un MainUserControl et il contient aussi App.xaml des dictionnaires: FusionRecourceDictionaries et convertisseurs personnalisés
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources\Styles.xaml"/>
<ResourceDictionary Source="Resources\DataTemplates.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Puis j'ai décidé d'utiliser MainUserControl dans un autre projet où il devrait être affiché dans l'ElementHost. Malheureusement, cela ne fonctionne pas car les styles et DataTemplates des dictionnaires de ressources sont introuvables. Je ne sais pas la bonne façon de le résoudre sur mais j'ai décidé que je déplacer le code code ResourceDictionaries dans les ressources du MainUserControl:
<UserControl.Resources>
<ResourceDictionary>
<!-- the same code -->
</ResourceDictionary>
</UserControl.Resources>
Il a causé l'erreur avec mes convertisseurs je dans les dictionnaires de ressources - Impossible de créer inconnu tapez '{clrnamespace: MyApplication.Converters; assembly = MyApplication} LengthToStringConverter . J'ai essayé de déplacer des convertisseurs en dehors des dictionnaires de ressources en ajoutant un plus ResourceDictionary avec mes convertisseurs:
<ResourceDictionary>
<con:LengthToStringConverter x:Key="textConverter"/>
<con:DateToTextConverter x:Key="dateConverter"/>
</ResourceDictionary>
Il a également provoqué une exception XAML (Fournir la valeur sur « System.Windows.StaticResourceExtension » a jeté une exception.). Donc, ce que je cherche, c'est la façon de résoudre le problème avec les convertisseurs qui ne peuvent pas être trouvés dans les dictionnaires de ressources ou une autre façon de résoudre le problème d'utilisation de la classe MainUserControl dans un autre projet (il ne trouve pas de ressources , peut-être, il y a un moyen de les spécifier?).
Enfin, j'ai créé des assemblages séparés pour les convertisseurs/contrôles personnalisés, les styles, et l'application principale et après l'avoir fait fonctionner. –