Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

Clock (Clase)

Mantiene el estado de tiempo de tiempo de ejecución para Timeline.

Espacio de nombres:  System.Windows.Media.Animation
Ensamblado:  PresentationCore (en PresentationCore.dll)
public class Clock : DispatcherObject

El tipo Clock expone los siguientes miembros.

  NombreDescripción
Método protegidoClockInicializa una nueva instancia de la clase de Clock , mediante Timeline especificado como una plantilla. el nuevo objeto de Clock no tiene ningún elemento secundario.
Arriba
  NombreDescripción
Propiedad públicaControllerObtiene ClockController que se puede utilizar para iniciar, pausar, reanudar, buscar, para omitir, detener, o quitar este Clock.
Propiedad públicaCurrentGlobalSpeedObtiene la velocidad a la que el tiempo de reloj está progresando actualmente, compara el tiempo real.
Propiedad protegidaCurrentGlobalTimeObtiene el tiempo global actual, establecido por el sistema de control de tiempo de WPF . 
Propiedad públicaCurrentIterationObtenga la iteración actual del reloj.
Propiedad públicaCurrentProgressObtiene el progreso actual de este Clock dentro de la iteración actual.
Propiedad públicaCurrentStateobtiene un valor que indica si el reloj es actualmente Active, Filling, o Stopped.
Propiedad públicaCurrentTimeObtiene la hora actual del reloj dentro de la iteración actual.
Propiedad públicaDispatcherObtiene Dispatcher que este DispatcherObject es asociado. (Se hereda de DispatcherObject).
Propiedad públicaHasControllableRootObtiene un valor que indica si este Clock forma parte de un árbol controlable de reloj.
Propiedad públicaIsPausedObtiene un valor que indica si está en pausa este Clock, o ninguno de sus elementos primarios.
Propiedad públicaNaturalDurationObtiene la duración natural de Timelinedel reloj.
Propiedad públicaParentobtiene el reloj que es el elemento primario de este reloj.
Propiedad públicaTimelineObtiene Timeline de las que este Clock se creó.
Arriba
  NombreDescripción
Método públicoCheckAccessdetermina si el subproceso de la llamada tiene acceso a este DispatcherObject. (Se hereda de DispatcherObject).
Método protegidoDiscontinuousTimeMovementCuando se implementa en una clase derivada, se invocará cada vez que un reloj repita, omite, o las búsquedas.
Método públicoEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método protegidoGetCanSlipDevuelve si Clock tiene su propio origen de la hora externo, que puede requerir la sincronización con el sistema de control de tiempo.
Método protegidoGetCurrentTimeCoreObtiene la hora actual del reloj dentro de la iteración actual.
Método públicoGetHashCode Sirve como una función hash para un tipo en particular. (Se hereda de Object).
Método públicoGetType Obtiene el Typede la instancia actual. (Se hereda de Object).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método protegidoSpeedChangedCuando se implementa en una clase derivada, se invocará siempre que inicie un reloj, omite, las pausas, reanuda, o cuando se modifica SpeedRatio de reloj.
Método protegidoStoppedCuando se implementa en una clase derivada, se invocará cada vez que un reloj se detenga utilizando el método de Stop .
Método públicoToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Método públicoVerifyAccessSe aplica al subproceso de llamada tiene acceso a este DispatcherObject. (Se hereda de DispatcherObject).
Arriba
  NombreDescripción
Evento públicoCompletedSe produce cuando este reloj ha finalizado totalmente reproducir.
Evento públicoCurrentGlobalSpeedInvalidatedSe produce cuando se actualiza la velocidad de reloj.
Evento públicoCurrentStateInvalidatedSe produce cuando se actualiza la propiedad de CurrentState de reloj.
Evento públicoCurrentTimeInvalidatedSe produce cuando CurrentTime de este reloj deja de ser válido.
Evento públicoRemoveRequestedSe produce cuando el método de Remove se llama a este Clock o de sus relojes primarios.
Arriba

Timeline , por sí mismo, realmente no hace nada más que describir un segmento de tiempo. Es el objeto de Clock de escala de tiempo que se encarga de true: mantiene el estado de control en realidad en tiempo de ejecución para la escala de tiempo.

En la mayoría de los casos, se crea automáticamente un reloj para la escala de tiempo. Al animar utilizando Storyboard o el método de BeginAnimation , relojes se crean automáticamente para las escalas de tiempo y animación y se aplican a las propiedades de destino. Para obtener ejemplos, vea Cómo: Animar una propiedad utilizando un guión gráfico y Cómo: Animar una propiedad sin utilizar un guión gráfico.

También puede crear Clock explícitamente utilizando el método de CreateClock . En los escenarios de rendimiento intensivo, como animar un gran número de objetos similares, el control dispone del uso de Clock puede proporcionar ventajas de rendimiento.

Relojes se organizan en árboles que coinciden con la estructura de árbol de objetos de Timeline de que se crean. El reloj raíz de un árbol de control de tiempo se puede manipular interactivamente (en pausa, reanudado, detenido, etc.) recuperando el Controller. los relojes de raíz no pueden ser controlados directamente.

Una vez creado, un reloj no puede cambiarse (solo puede tratarse).

Mediante una escala de tiempo como temporizador

El reloj de una escala de tiempo progresará cuando hay ningún controlador de eventos asociado o (en el caso de un objeto de AnimationClock ) está asociado a una propiedad. Por este motivo (y otros), no se recomienda utilizar Timeline como temporizador.

Notas para los herederos

Las clases derivadas deben implementar GetCurrentTimeCore si desean modificar cómo fluye el tiempo para este reloj. Las clases derivadas pueden crear para realizar el trabajo adicional cuando el reloj repite, omiten, busca, inician, pausa, reanudan, o detienen reemplazando DiscontinuousTimeMovement, SpeedChanged, y los métodos de Stopped .

En este ejemplo se muestra cómo utilizar objetos Clock para animar una propiedad.

Hay tres maneras de animar una propiedad de dependencia:

Los objetos Storyboard y el método BeginAnimation permiten animar propiedades sin crear ni distribuir directamente relojes (para obtener ejemplos, vea Cómo: Animar una propiedad utilizando un guión gráfico y Cómo: Animar una propiedad sin utilizar un guión gráfico); los relojes se crean y distribuyen automáticamente.

En el ejemplo siguiente se muestra cómo crear un objeto AnimationClock y aplicarlo a dos propiedades similares.


/*
    This example shows how to create and apply
    an AnimationClock.
*/

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;
using System.Windows.Media.Animation;


namespace Microsoft.Samples.Animation.TimingBehaviors
{
    public class AnimationClockExample : Page
    {

        ScaleTransform myScaleTransform;

        public AnimationClockExample()
        {

            this.WindowTitle = "Opacity Animation Example";
            this.Background = Brushes.White;
            StackPanel myStackPanel = new StackPanel();
            myStackPanel.Margin = new Thickness(20);

            // Create a button that with a ScaleTransform.
            // The ScaleTransform will animate when the
            // button is clicked.
            Button myButton = new Button();
            myButton.Margin = new Thickness(50);
            myButton.HorizontalAlignment = HorizontalAlignment.Left;
            myButton.Content = "Click Me";           
            myScaleTransform = new ScaleTransform(1,1);
            myButton.RenderTransform = myScaleTransform;


            // Associate an event handler with the
            // button's Click event.
            myButton.Click += new RoutedEventHandler(myButton_Clicked);

            myStackPanel.Children.Add(myButton);
            this.Content = myStackPanel;
        }

        // Create and apply and animation when the button is clicked.
        private void myButton_Clicked(object sender, RoutedEventArgs e)
        {

            // Create a DoubleAnimation to animate the
            // ScaleTransform.
            DoubleAnimation myAnimation = 
                new DoubleAnimation(
                    1, // "From" value
                    5, // "To" value 
                    new Duration(TimeSpan.FromSeconds(5))
                );
            myAnimation.AutoReverse = true;

            // Create a clock the for the animation.
            AnimationClock myClock = myAnimation.CreateClock();            

            // Associate the clock the ScaleX and
            // ScaleY properties of the button's
            // ScaleTransform.
            myScaleTransform.ApplyAnimationClock(
                ScaleTransform.ScaleXProperty, myClock);
            myScaleTransform.ApplyAnimationClock(
                ScaleTransform.ScaleYProperty, myClock);
        }
    }
}


Para obtener un ejemplo que muestra cómo controlar interactivamente un objeto Clock después de iniciarse, vea Cómo: Controlar interactivamente un reloj.

.NET Framework

Compatible con: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Todos los miembros públicos static (Shared en Visual Basic) de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.