c# - animations - wpf animation tutorial
La forma más simple de crear animación ocupada en WPF (6)
Mencioné que no hay un control ocupado estándar en WPF. Entonces, ¿cuál es la forma más fácil de mostrar un círculo animado ocupado (no la barra de progreso) como lo muestra su navegador al cargar una página?
Por favor, si sugiere descargar el control desde Internet, asegúrese de que este control sea gratuito y sin restricciones de licencia (como, por ejemplo, me vería obligado a aplicar mi licencia GPL si lo uso).
Gracias de antemano
Puede implementar la rueda de procesamiento mientras su aplicación está ocupada. aunque WPF no admite ninguna imagen GIF, entonces tienes que usar la animación para esto. A continuación se muestra un buen enlace para la rueda giratoria FrameAnimation.
http://www.codeproject.com/Articles/29545/FrameBasedAnimation-Animating-multiple-properties
Recientemente he subido uno a codeplex. Te permite personalizarlo (incluso en tiempo de ejecución). Puedes descargarlo desde aquí . Muestra de demostración también cargada.
Recientemente implementé uno que se parece al indicador de ocupado de iPhone, que se explica here .
También está el Circular Progress Bar de Sacha Barber. Está licenciado bajo Code Project Open License.
También puede usar gifs animados, compare, por ejemplo, este sitio: http://www.loadinfo.net/ . Se generan diferentes colores, formas, cuadros por segundo, fondo transparente.
Luego agrega el GIF animado de WPF como referencia a su proyecto.
Realice un <Image gif:ImageBehavior.AnimatedSource="Images/animated.gif" />
con <Image gif:ImageBehavior.AnimatedSource="Images/animated.gif" />
como su contenido y IsBusy
a IsBusy
una IsBusy
dependencia (DP) IsBusy
con una devolución de llamada a un método en usercontrol:
`public static readonly DependencyProperty IsBusyProperty = DependencyProperty.Register("IsBusy", typeof(bool), typeof(SpinProgress), new FrameworkPropertyMetadata(new PropertyChangedCallback(OnIsBusyChangedCallBack)));`
En este método, se pueden ejecutar los métodos Play()
y ''Pause ()'' del gif animado.
IsBusy
propiedad IsBusy
del IsBusy
al modelo de vista.
O bien, cuando corresponda, ignore los métodos DP y Play()
y Pause()
y vincule la propiedad Visibility
al view-model.