Ausblenden WPF-Fenster, Bis Sie Vollständig Geladen
Für meine WPF-Anwendung, ich bin das speichern von mehreren Benutzer-Einstellungen, wie Fensterposition, Fenster-Status, und ob oder nicht, um anzuzeigen, ein willkommen-dialog. Das problem ist, dass, während alles geladen wird, ich sehe eine Menge von blinkenden und flackernden als das windows geladen werden, und dann mehr flackern, wenn das Fenster maximiert ist nach der Lektüre in den Einstellungen.
Ich bin schon mit dem eingebauten WPF PNG splash-screen Funktionalität, aber es ist ein Weg, um vollständig zu verstecken Sie Rendern alle Fenster, bis alles vollständig geladen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bearbeiten Sie die Anwendung.xaml, entfernen Sie die StartUpUri, stattdessen setzen sich die StartUp-event-handler.
In Der Anwendung Ist.xaml.cs, Bearbeiten der startup-Ereignishandler, um die Anzeige der splashscreen, laden Sie Ihre Ressourcen, erstellen Sie alles, erstellen Sie dann das Haupt-Fenster und zeigt es an.
Und:
Gibt es Funktionen , BeginInit und EndInit, wenn Sie die Eigenschaften ändern sich in diesen Funktionen, wie..
dann dein Fenster nicht machen, bis die EndInit() aufgerufen wird, wird Sie nicht flimmern.
Können Sie die windows WindowState auf Minimized, dann Griff der ContentRendered Ereignis und legen Sie die WindowState Normal oder Maximiert.
Wann wird diese Belastung auftreten? Ausgeführten Code in der main -
Window
's Konstruktor ausgeführt werden soll, bevor das Fenster angezeigt, wenn Sie das laden der erforderlichen Ressourcen, die Sie sollten nicht sehen, keine flackern.