En attente de l'Écran pour la fenêtre WPF Chargement
Je suis la navigation à partir de certaines window1 Mainwindow
Dans mon MainWindow_loaded Méthode que j'ai trop de calcul, donc quand j'ai accédez à la fenêtre principale de windows va à blanc jusqu'à ce que tous calcul terminé et fenêtre chargé
J'ai essayé dans MainWindow
private void MainWindow_Loaded_1(object sender, RoutedEventArgs e)
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += (o, ea) =>
{
do large computation
};
worker.RunWorkerCompleted += (o, ea) =>
{
_busy.IsBusy = false;
};
_busy.IsBusy = true;
worker.RunWorkerAsync();
}
Mais le problème, c'est qu'il navigue à Mainwindow sans le calcul des données nécessaires chargé de gestionnaire d'événement et ne montrent même en attente de barre dans l'INTERFACE utilisateur ? ?
Est-il possible de montrer l'attente de la barre et tout le calcul de données dans MainWindow_Loaded?
J'ai utilisé ExtendedWpfToolkit pour _busy qui est occupé indicateur
OriginalL'auteur uncia | 2013-02-11
Vous devez vous connecter pour publier un commentaire.
Vous pouvez vous abonner votre arrière-plan travailleur à faire rapport des progrès accomplis.
Et maintenant vous pouvez avoir ce rapport d'avancement être déclenché par un événement que vous vous abonnez.
En faisant cela, vous pouvez créer une barre de progression que peut mettre à jour lui-même basé sur ce
worker_ProgressChanged
événement, déclenchée par votre calcul.Il semble que vous avez déjà compris
IsBusy
, de sorte que vous pouvez avoir votre barre de progression montrent que lorsque cela est vrai.OriginalL'auteur tnw
Vous pouvez utiliser
BusyIndicator
de contrôle. Il fait partie de la Étendue WPF ToolKit.J'ai créé un exemple d'application à l'aide. Ci-dessous copie d'écran de l'application qui affiche le nombre de boucles.
Ici est un tutoriel sur la façon de l'utiliser.
Exemple de code.
Remarque: Vous devez télécharger la trousse à outil et ajouter une référence à
Xceed.Wpf.Toolkit.dll
dans votre projet.Code XAML:
Le code-behind:
OriginalL'auteur Anand Murali
Une option serait de créer une superposition dont la visibilité dépend de IsBusy, échantillon de venir une fois je ne suis pas sur mon téléphone
OriginalL'auteur Peter Karlsson
Façon la plus simple de le faire est l'utilisation de WPF Barre de Progression avec xaml
ci-dessous le code:
<ProgressBar IsIndeterminate="True" Visibility="True"/>
où IsIndeterminate "vrai" se comporte comme une attente de progrès et de "faux" s'affichera exacte des progrès.
Également définir la visibilité lorsque vous voulez montrer et quand masquer si vous êtes en utilisant, comme une attente de progrès.
OriginalL'auteur Gaurav Panwar