Frage

Ich habe eine WPF-Usercontrol, die ich innerhalb eines ElementHostControl in einer WinForms-Steuerelement verwenden. Dann beginne ich ein WPF-Fenster, während die Windows Form noch offen ist. Wenn ich dann schließen die WPF-Fenster, und versuchen, ein Kind Element meiner WPF Usercontrol hinzufügen, stürzt bei „InitializeComponent ()“ (des Kindes Element), mit Ausnahme:

  

"Eine erste Chance Ausnahme des Typs 'System.Configuration.ConfigurationErrorsException' aufgetreten in System.Configuration.dll.   Zusätzliche Informationen: Dieses Element wird derzeit nicht mit jedem Kontext zugeordnet ist "

Ich fand heraus, warum es passiert, aber ich weiß nicht, wie das Problem zu lösen. Wenn ich diesen Code auslassen:

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);
        }
    }

dann ist alles in Ordnung. Ich brauche diese aber aufgrund der Tatsache, dass meine Resource (und damit meine definierte Styles und Templates auch) über die WPF-Fenster sonst nicht verfügbar ist und Kontrollen. Das fand ich etwa hier aus

Gibt es eine Möglichkeit, das Beste aus beiden Welten zu kombinieren? Keeping meine Resource, während die Anwendung verhindert abstürzt?

War es hilfreich?

Lösung

Ich löste es schließlich durch die Zugabe von Resource in jedem Fenster manuell durch XAML. Auf diese Weise der Usercontrol in meiner WinForms bleibt davon unberührt.

Noch nicht genau verstehen, Warum es abgestürzt ist aber leider nicht.

<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/KolonistenClient;component/KolonistenResourceDictionary.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Window.Resources>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top