MatrixAnimationUsingPath.IsAdditive Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает значение, которое указывает, следует ли добавить текущее значение целевого свойства к начальному значению данной анимации.
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 совместно используется различными производными классами.