Applies an animation to the specified DependencyProperty. The animation is started when the next frame is rendered. If the specified property is already animated, the SnapshotAndReplace handoff behavior is used. (Inherited from Animatable.)

Applies an animation to the specified DependencyProperty. The animation is started when the next frame is rendered. If the specified property is already animated, the specified HandoffBehavior is used. (Inherited from Animatable.)

Creates a modifiable clone of this BooleanAnimationBase, making deep copies of this object's values. When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values.

Coerces the value of the specified dependency property. This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject. (Inherited from DependencyObject.)

Ensures that the Freezable is being accessed from a valid thread. Inheritors of Freezable must call this method at the beginning of any API that reads data members that are not dependency properties. (Inherited from Freezable.)

Raises the Changed event for the Freezable and invokes its OnChanged method. Classes that derive from Freezable should call this method at the end of any API that modifies class members that are not stored as dependency properties. (Inherited from Freezable.)

Verifies that the Freezable is not frozen and that it is being accessed from a valid threading context. Freezable inheritors should call this method at the beginning of any API that writes to data members that are not dependency properties. (Inherited from Freezable.)

<!-- Demonstrates a BooleanAnimationUsingKeyFrames. The animation is used to
animate the IsEnabled property of a button. --><Pagexmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"x:Class="Microsoft.Samples.KeyFrameAnimations.BooleanAnimationUsingKeyFramesExample"Name="myRootElement"WindowTitle="KeyFrameBoolean Animation Example"><StackPanelOrientation="Vertical"Margin="20"><TextBlock>
Click the button to animate the its IsEnabled property with a
BooleanAnimationUsingKeyFrames animation.
</TextBlock><ButtonName="myAnimatedButton"Margin="200">Click Me
<Button.Triggers><EventTriggerRoutedEvent="Button.Click"><BeginStoryboard><Storyboard><BooleanAnimationUsingKeyFramesStoryboard.TargetName="myAnimatedButton"Storyboard.TargetProperty="(Button.IsEnabled)"Duration="0:0:4"FillBehavior="HoldEnd"><!-- All the key frames below are DiscreteBooleanKeyFrames. Discrete key frames create
sudden "jumps" between values (no interpolation). Only discrete key frames can be used
for Boolean key frame animations. --><DiscreteBooleanKeyFrameValue="False"KeyTime="0:0:0"/><DiscreteBooleanKeyFrameValue="True"KeyTime="0:0:1"/><DiscreteBooleanKeyFrameValue="False"KeyTime="0:0:2"/><DiscreteBooleanKeyFrameValue="True"KeyTime="0:0:3"/><DiscreteBooleanKeyFrameValue="False"KeyTime="0:0:3.5"/><DiscreteBooleanKeyFrameValue="True"KeyTime="0:0:4"/></BooleanAnimationUsingKeyFrames></Storyboard></BeginStoryboard></EventTrigger></Button.Triggers></Button></StackPanel></Page>