Animatable.GetAnimationBaseValue(DependencyProperty) Animatable.GetAnimationBaseValue(DependencyProperty) Animatable.GetAnimationBaseValue(DependencyProperty) Animatable.GetAnimationBaseValue(DependencyProperty) Method

定義

傳回指定之 DependencyProperty 的非動畫實值。Returns the non-animated value of the specified DependencyProperty.

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

參數

dp
DependencyProperty DependencyProperty DependencyProperty DependencyProperty

識別應該擷取其基底 (非動畫) 實值的屬性。Identifies the property whose base (non-animated) value should be retrieved.

傳回

指定的屬性沒有建立動畫時要傳回的值。The value that would be returned if the specified property were not animated.

實作

範例

在下列範例中, 會抓取和顯示動畫屬性的非動畫值。In the following example, the non-animated values of animated properties are retrieved and displayed.

/*

   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

備註

如果指定的屬性未以GetValue動畫顯示, 則這個方法會傳回與相同的結果。If the specified property is not animated, this method returns the same result as GetValue.

適用於