Question

J'ai un WPF UserControl, que je l'utilise dans un contrôle WinForms dans un ElementHostControl. Ensuite, je commence une fenêtre WPF, tandis que le Windows Form est toujours ouvert. Si je ferme alors la fenêtre WPF, et essayez d'ajouter un élément enfant à mon WPF UserControl, il se bloque à « InitializeComponent () » (de l'élément enfant) à l'exception:

  

"Une exception de première chance de type 'System.Configuration.ConfigurationErrorsException' a eu lieu dans System.Configuration.dll.   Informations complémentaires: Cet élément n'est pas associé à un contexte "

Je trouve pourquoi il arrive, mais je ne sais pas comment résoudre le problème. Si je quitte ce code:

public static void EnsureApplicationResources()
    {
        if (Application.Current == null)
        {
            // create the Application object
            new Application();
            string assemblyName = System.IO.Path.GetFileNameWithoutExtension(
                Assembly.GetExecutingAssembly().ManifestModule.Name);

            // merge in your application resources
            Application.Current.Resources.MergedDictionaries.Add(
                Application.LoadComponent(new Uri("/KolonistenClient;component/KolonistenResourceDictionary.xaml", UriKind.RelativeOrAbsolute))
                as ResourceDictionary);
        }
    }

alors tout va bien. J'ai besoin que si, en raison du fait que mon ResourceDictionary (et donc aussi mes styles définis et modèles) est par ailleurs pas disponible dans la fenêtre WPF et contrôles. Ce que j'ai découvert ici

Est-il possible de combiner le meilleur des deux mondes? Garder ma ResourceDictionary, tout en empêchant l'application de se briser?

Était-ce utile?

La solution

je l'ai résolu en ajoutant finalement le ResourceDictionary dans chaque fenêtre manuellement par xaml. De cette façon, le UserControl dans mes WinForms reste inchangée.

ne comprends toujours pas exactement pourquoi est écrasé mais, malheureusement.

<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/KolonistenClient;component/KolonistenResourceDictionary.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Window.Resources>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top