Pour mon application WPF, je stocke plusieurs paramètres utilisateur tels que la position de la fenêtre, l'état de la fenêtre et pour indiquer ou non une boîte de dialogue de bienvenue. Le problème est que, tandis que tout se charge, je vois beaucoup de clignotant et de scintiller que les fenêtres sont chargées dans, puis plus de scintillement lorsque la fenêtre est maximisée après la lecture dans les paramètres. P>
J'utilise déjà la fonctionnalité de l'écran Splash PNG de WPF intégrée, mais existe-t-il un moyen de cacher complètement le rendu de toutes les fenêtres jusqu'à ce que tout soit complètement chargé? P>
4 Réponses :
Il existe des fonctions, commencez et endinit, si vous modifiez des propriétés à l'intérieur de ces fonctions telles que ...
BeginInit(); ... ... // Do your code Initialization here... ... EndInit();
Cela cause la crash
Modifier l'application.xaml, supprimez le démarrage, définissez plutôt le gestionnaire d'événements de démarrage.
Dans application.xaml.cs, modifiez le gestionnaire d'événements de démarrage pour afficher l'écran SplashScreen, charger vos ressources, créer tout, puis créer la fenêtre principale et le montrer. et: P>
Je ne comprends pas. La fonctionnalité de l'écran Splash intégrée est définie à l'aide de l'action SplashScreen Building sur une ressource d'image. Cet écran Splash intégré est automatiquement chargé avant que l'événement de démarrage soit lancé. Dans le code ci-dessus, une nouvelle instance est créée. Qu'en est-il de l'un - comment allumez-vous? De plus, DosplashScreen est référencé ci-dessus. Où est-ce défini? Remarque: j'utilise vb.net.
Je n'ai pas supposé que l'écran Splash intégré est utilisé (fonctionnalité 1. Ajouté dans WPF 3.5 SP1). Réglage de la construction d'une action sur une image à SplashScreen vous donne une fonctionnalité limitée, de le désactiver, il suffit de ne pas définir d'une action de construction d'images sur SplashScreen. DosplashScreen est pseudo-code - il peut être n'importe quelle chèque de configuration (par exemple préférences de l'utilisateur).
OK merci. J'ai été confus parce que les questions originales indiquent "J'utilise déjà la fonctionnalité de l'écran Splash PNG intégrée PNG". Une confusion supplémentaire était votre choix de noms - l'écran Splash WPF intégré est également une classe appelée SplashScreen. Peut-être devriez-vous être plus explicite à ce sujet dans votre réponse (ou utilisez un nom différent). En outre, il serait agréable de montrer pourquoi votre solution meilleure que l'intégrée.
Il permet d'afficher d'abord l'écran des éclaboussures, charger tout le reste, puis affichant la fenêtre principale. En outre, votre écran Splash personnalisé peut contenir n'importe quelle logique personnalisée.
Quand ce chargement se produit-il? Le code exécuté dans la fenêtre principale code> S doit exécuter avant l'exécution de la fenêtre. Si vous chargez des ressources requises, vous ne devez voir aucun scintillement. P>
Vous pouvez définir le Windowstate Windows pour minimiser, puis gérer l'événement du conteneur et définir le windowstate à la normale ou maximisée. P>
Le moyen le plus simple, merci! J'ai plutôt utilisé l'événement Window_Load. C'est là que je fais toute mon initialisation de l'application. Quand cela est fait, définir le windowstate et bon à partir.
Excellent travail. Simple mais génial. J'ajoute également un écran éclaboussé intégré.
Approche facile! Merci