MatrixAnimationUsingPath.IsAdditive 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值指示是否应将目标属性的当前值添加到此动画的起始值。
public:
property bool IsAdditive { bool get(); void set(bool value); };
public bool IsAdditive { get; set; }
member this.IsAdditive : bool with get, set
Public Property IsAdditive As Boolean
属性值
如果应将目标属性的当前值添加到此动画的起始值,则为 true
;否则为 false
。 默认值为 false
。
示例
以下示例使用两个类似的 MatrixAnimationUsingPath 动画对同一矩形进行动画处理。 第一个动画的 IsAdditive 属性设置为 false
,因此它始终从动画的起始值 (0,0) 对矩形进行动画处理。 第二个动画具有相同的目标值, (它们的 PathGeometry 设置) 相同,但其 IsAdditive 属性设置为 true
;因此,它从应用动画时位于的任何位置对矩形进行动画处理。
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:PresentationOptions="http://schemas.microsoft.com/winfx/2006/xaml/presentation/options"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="PresentationOptions">
<StackPanel>
<!-- The Rectangle that is animated across the screen by animating
the MatrixTransform applied to the button. -->
<Rectangle
Width="50" Height="20"
Fill="Blue"
HorizontalAlignment="Left"
VerticalAlignment="Top">
<Rectangle.RenderTransform>
<MatrixTransform x:Name="myMatrixTransform">
<MatrixTransform.Matrix >
<Matrix OffsetX="10" OffsetY="100"/>
</MatrixTransform.Matrix>
</MatrixTransform>
</Rectangle.RenderTransform>
</Rectangle>
<StackPanel Margin="0,200,0,0" Orientation="Horizontal">
<Button Content="Animate with IsAdditive set to False"
HorizontalAlignment="Left" Padding="5">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<!-- This animation always moves the
rectangle back to (0,0). -->
<MatrixAnimationUsingPath
Storyboard.TargetName="myMatrixTransform"
Storyboard.TargetProperty="Matrix"
Duration="0:0:2"
DoesRotateWithTangent="True"
IsAdditive="False">
<MatrixAnimationUsingPath.PathGeometry>
<PathGeometry
Figures="M 0,0 C 35,0 135,0 160,100 180,190 285,200 310,100" />
</MatrixAnimationUsingPath.PathGeometry>
</MatrixAnimationUsingPath>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
<Button Content="Animate with IsAdditive set to True"
HorizontalAlignment="Left"
Padding="5">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<!-- This animation moves the rectangle from
its current position. -->
<MatrixAnimationUsingPath
Storyboard.TargetName="myMatrixTransform"
Storyboard.TargetProperty="Matrix"
Duration="0:0:2"
DoesRotateWithTangent="True"
IsAdditive="True">
<MatrixAnimationUsingPath.PathGeometry>
<PathGeometry
Figures="M 0,0 C 35,0 135,0 160,100 180,190 285,200 310,100" />
</MatrixAnimationUsingPath.PathGeometry>
</MatrixAnimationUsingPath>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
</StackPanel>
</StackPanel>
</Page>
注解
依赖项属性信息
标识符字段 | IsAdditiveProperty |
元数据属性设置为 true |
无 |
注意
此依赖属性异常,因为它的标识符字段来自 AnimationTimeline ,并由各种派生类共享。