Animatable.GetAnimationBaseValue(DependencyProperty) Método

Definición

Devuelve el valor no animado del objeto DependencyProperty especificado.

C#
public object GetAnimationBaseValue (System.Windows.DependencyProperty dp);

Parámetros

dp
DependencyProperty

Identifica la propiedad cuyo valor base (no animado) se debe recuperar.

Devoluciones

Object

Valor que se devolvería si no se animara la propiedad especificada.

Implementaciones

Ejemplos

En el ejemplo siguiente, se recuperan y muestran los valores no animados de las propiedades animadas.

C#
/*

   This sample shows how to use the 
   Animatable.GetAnimationBaseValue and 
   UIElement.GetAnimationBaseValue methods
   to get the non-animated value of an
   animated Animatable or UIElement.

*/

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

namespace Microsoft.Samples.Animation.TimingBehaviors
{

    public class GetAnimationBaseValueExample : Page {

        private RotateTransform animatedRotateTransform;
        public GetAnimationBaseValueExample()
        {
        
            WindowTitle = "GetAnimationBaseValue Example";
            StackPanel myPanel = new StackPanel();
            myPanel.Margin = new Thickness(20.0);    
            
            // Create a button.
            Button animatedButton = new Button();
            animatedButton.Content = "Click Me";
            animatedButton.Width = 100;
            animatedButton.Margin = new Thickness(100);
       
            // Create and animate a RotateTransform and
            // apply it to the button's RenderTransform
            // property.
            animatedRotateTransform = new RotateTransform();
            animatedRotateTransform.Angle = 45;
            DoubleAnimation angleAnimation = 
                new DoubleAnimation(0,360, TimeSpan.FromSeconds(5));
            angleAnimation.RepeatBehavior = RepeatBehavior.Forever;
            animatedRotateTransform.BeginAnimation(
                RotateTransform.AngleProperty, angleAnimation);           
            animatedButton.RenderTransform = animatedRotateTransform;
            animatedButton.RenderTransformOrigin = new Point(0.5,0.5);
            // Animate the button's width.
            DoubleAnimation widthAnimation = 
                new DoubleAnimation(120, 300, TimeSpan.FromSeconds(5));
            widthAnimation.RepeatBehavior = RepeatBehavior.Forever;
            widthAnimation.AutoReverse = true;
            animatedButton.BeginAnimation(Button.WidthProperty, widthAnimation);
            
            // Handle button clicks.
            animatedButton.Click += new RoutedEventHandler(animatedButton_Clicked);           

            // Add the button to the panel.
            myPanel.Children.Add(animatedButton);
            this.Content = myPanel;
        }

        // Display the base value for Button.Width and RotateTransform.Angle.
        private void animatedButton_Clicked(object sender, RoutedEventArgs e)
        {
            Button animatedButton = (Button)sender;
            MessageBox.Show("Button width base value: " + 
                animatedButton.GetAnimationBaseValue(Button.WidthProperty)
                + "\nRotateTransform base value: " +
                animatedRotateTransform.GetAnimationBaseValue(RotateTransform.AngleProperty));
        }
    }
}

Comentarios

Si la propiedad especificada no está animada, este método devuelve el mismo resultado que GetValue.

Se aplica a

Producto Versiones
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7