Partager via


Animatable.GetAnimationBaseValue(DependencyProperty) Méthode

Définition

Retourne la valeur non animée de la propriété DependencyProperty spécifiée.

public:
 virtual System::Object ^ GetAnimationBaseValue(System::Windows::DependencyProperty ^ dp);
public object GetAnimationBaseValue (System.Windows.DependencyProperty dp);
abstract member GetAnimationBaseValue : System.Windows.DependencyProperty -> obj
override this.GetAnimationBaseValue : System.Windows.DependencyProperty -> obj
Public Function GetAnimationBaseValue (dp As DependencyProperty) As Object

Paramètres

dp
DependencyProperty

Identifie la propriété dont la valeur de base (non animée) doit être récupérée.

Retours

Object

Valeur qui serait retournée si la propriété spécifiée n'était pas animée.

Implémente

Exemples

Dans l’exemple suivant, les valeurs non animées des propriétés animées sont récupérées et affichées.

/*

   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));
        }
    }
}
'
'
'   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.
'
'

Imports System.Windows
Imports System.Windows.Navigation
Imports System.Windows.Media
Imports System.Windows.Media.Animation
Imports System.Windows.Shapes
Imports System.Windows.Controls
Imports System.Windows.Input

Namespace Microsoft.Samples.Animation.TimingBehaviors


    Public Class GetAnimationBaseValueExample
        Inherits Page


        Private animatedRotateTransform As RotateTransform
        Public Sub New()

            WindowTitle = "GetAnimationBaseValue Example"
            Dim myPanel As New StackPanel()
            myPanel.Margin = New Thickness(20.0)

            ' Create a button.
            Dim animatedButton As 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
            Dim angleAnimation As 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.
            Dim widthAnimation As New DoubleAnimation(120, 300, TimeSpan.FromSeconds(5))
            widthAnimation.RepeatBehavior = RepeatBehavior.Forever
            widthAnimation.AutoReverse = True
            animatedButton.BeginAnimation(Button.WidthProperty, widthAnimation)

            ' Handle button clicks.
            AddHandler animatedButton.Click, AddressOf animatedButton_Clicked

            ' Add the button to the panel.
            myPanel.Children.Add(animatedButton)
            Me.Content = myPanel
        End Sub

        ' Display the base value for Button.Width and RotateTransform.Angle.
        Private Sub animatedButton_Clicked(ByVal sender As Object, ByVal e As RoutedEventArgs)
            Dim animatedButton As Button = CType(sender, Button)
            MessageBox.Show("Button width base value: " & animatedButton.GetAnimationBaseValue(Button.WidthProperty).ToString & vbLf & "RotateTransform base value: " & animatedRotateTransform.GetAnimationBaseValue(RotateTransform.AngleProperty).ToString)
        End Sub

    End Class

End Namespace

Remarques

Si la propriété spécifiée n’est pas animée, cette méthode retourne le même résultat que GetValue.

S’applique à