Blog
Singleton unter WPF C#
Hallo,
wer in C# Singletons in WPF realisieren will, muss ein wichtiges Detail beachten.
In einer WPF Anwendung wird, das zu startende Fenster in der Datei App.xaml wie folgt festgelegt.
StartupUri ="Window1.xaml">
Dabei wird von der Klasse (die sich in Window1.xaml.cs befindet), der öffentliche Konstruktor aufgerufen.
Hat man ein Singleton implementiert muss man die GetInstance() Funktion aufrufen. Beim starten der Singleton WPF Anwendung erhält man dann die XamlParseException.
"Das Objekt vom Typ "Singleton.Window1" kann nicht erstellt werden. Bei "CreateInstance" ist ein Fehler aufgetreten; möglicherweise ist für "Singleton.Window1" kein öffentlicher Standardkonstruktor vorhanden. Fehler in Markupdatei "Window1.xaml", Zeile 1, Position 9."
Um die Funktion GetInstance() aufrufen zu können geht man wie folgt vor:
Aus der Datei App.xaml den Code StartupUri="Window1.xaml" löschen. Zur Datei App.xaml.cs fügen wir folgenden Code hinzu:
{
Window1 window1 = Window1.GetInstance();base.OnStartup(e);
window1.Show();
}
Das wars schon.
Schlüsselwörter: C#, WPF
zuletzt geändert: 29. Jänner 2009 21:56
Link zu diesem Artikel: (in die Zwischenablage)
(c) 2011 | Impressum |
| Empfehlenswerte Blog Einträgebaska.jpg)