Für meine WPF-Anwendung speichere ich verschiedene Benutzereinstellungen wie Fensterposition, Fensterstatus und ob ein Begrüßungsdialog angezeigt werden soll oder nicht. Das Problem ist, dass, während alles geladen wird, ich eine Menge blinkendes und flackern sehe, wie die Fenster geladen werden, und dann mehr flackern, wenn das Fenster maximiert wird, nachdem ich die Einstellungen eingelesen habe.
Ich verwende bereits die integrierte WPF PNG-Splash-Screen-Funktion, aber gibt es eine Möglichkeit, das Rendern aller Fenster vollständig zu verbergen, bis alles vollständig geladen ist?
Bearbeiten Sie die Application.xaml, entfernen Sie die StartUpUri, und legen Sie stattdessen den StartUp-Ereignishandler fest. Bearbeiten Sie in Application.xaml.cs den Startup-Ereignishandler, um den Splashscreen anzuzeigen, laden Sie Ihre Ressourcen, erstellen Sie alles, erstellen Sie dann das Hauptfenster und zeigen Sie es an.
%Vor%Und:
%Vor%Es gibt Funktionen, BeginInit und EndInit, wenn Sie Eigenschaften innerhalb dieser Funktionen wie ..
ändern %Vor%dann wird Ihr Fenster nicht gerendert, bis EndInit () aufgerufen wird, es wird nicht flackern.
Wann tritt dieses Laden auf? Code, der im Hauptkonstruktor von Window
ausgeführt wird, sollte ausgeführt werden, bevor das Fenster angezeigt wird. Wenn Sie dort benötigte Ressourcen laden, sollten Sie kein Flimmern sehen.
Tags und Links wpf c# splash-screen loading