Simple pour créer l'animation occupé dans WPF
-
05-10-2019 - |
Question
je l'ai mentionné qu'il n'y a pas de contrôle standard occupé WPF. Alors, quelle est la meilleure façon d'afficher cercle occupé animé (pas de barre de progression) telles que votre navigateur affiche lors du chargement d'une page?
S'il vous plaît si vous suggérons de télécharger le contrôle à partir d'Internet vous assurer que ce contrôle est gratuit et sans restriction de licence (comme je serais forcé de GPL ma demande si je l'utilise).
Merci d'avance
Autres conseils
Il y a aussi Sacha Barber circulaire Barre de progression . Il est autorisé en vertu du Code du projet Open License.
Vous pouvez également utiliser des gifs animés, par exemple comparer ce site: http://www.loadinfo.net/ . Différentes couleurs, formes, images par seconde, fond transparant sont générés pour vous.
Ensuite, vous ajoutez le WPF GIF animé comme référence à votre projet.
Faire un usercontrol avec <Image gif:ImageBehavior.AnimatedSource="Images/animated.gif" />
que son contenu et donner un usercontrol DependencyProperty (DP) IsBusy
avec un rappel à un procédé dans le usercontrol:
`public static readonly DependencyProperty IsBusyProperty = DependencyProperty.Register("IsBusy", typeof(bool), typeof(SpinProgress), new FrameworkPropertyMetadata(new PropertyChangedCallback(OnIsBusyChangedCallBack)));`
Dans cette méthode, la Play()
Gif animé et « Pause () » méthodes peut être exécutée.
Liez la propriété IsBusy
du usercontrol à la vue modèle.
Ou - quand correspond le -. Ignorer le DP et les méthodes de Play()
et Pause()
et lier la propriété Visibility
à la vue modèle
Vous pouvez mettre en œuvre la roue de traitement pendant que votre application est occupée. bien que WPF ne prennent pas en charge les images GIF de sorte que vous avez à utiliser l'animation pour cela. ci-dessous est un bon lien pour tourner la roue FrameAnimation.
http://www.codeproject.com/Articles/29545/ FrameBasedAnimation-Animer-plusieurs-propriétés
J'ai récemment mis en œuvre qui ressemble à l'indicateur d'occupation iPhone, a expliqué ici .