Proprietà Point3DAnimationUsingKeyFrames.IsCumulative
Aggiornamento: novembre 2007
Ottiene o imposta un valore che specifica se il valore dell'animazione viene accumulato quando si ripete.
Assembly: PresentationCore (in PresentationCore.dll)
XMLNS per XAML: http://schemas.microsoft.com/winfx/xaml/presentation
/** @property */ public boolean get_IsCumulative() /** @property */ public void set_IsCumulative(boolean value)
public function get IsCumulative () : boolean public function set IsCumulative (value : boolean)
<object IsCumulative="bool" .../>
Valore proprietà
Tipo: System.Booleantrue se i valori dell'animazione vengono accumulati quando la proprietà RepeatBehavior causa la ripetizione della durata normale; in caso contrario, false. Il valore predefinito è false.
Quando questa proprietà viene impostata su true, i valori di output dell'animazione vengono accumulati solo nel caso in cui la proprietà RepeatBehavior dell'animazione causa la ripetizione della durata normale. I valori non vengono accumulati se il riavvio è causato dalla ripetizione del padre oppure dal riavvio del clock a seguito di una chiamata di Begin.
In questo esempio viene illustrato come utilizzare la proprietà IsCumulative per accumulare valori di animazione nei cicli ripetuti.
Utilizzare la proprietà IsCumulative per accumulare valori di base di un'animazione nei cicli ripetuti. Ad esempio, se si imposta la ripetizione di un'animazione per 9 volte (RepeatBehavior = "9x") e si imposta la proprietà da animare tra 10 e 15 (Da = 10 A = 15), la proprietà viene animata da 10 a 15 durante il primo ciclo, da 15 a 20 durante il secondo ciclo, da 20 a 25 durante il terzo ciclo e così via. Di conseguenza, ogni ciclo di animazione utilizza il valore dell'animazione finale del ciclo di animazione precedente come valore di base.
È possibile utilizzare la proprietà IsCumulative con la maggior parte delle animazioni di base e delle animazioni con fotogrammi chiave. Per ulteriori informazioni, vedere Cenni preliminari sull'animazione e Cenni preliminari sulle animazioni con fotogrammi chiave.
Nell'esempio riportato di seguito viene illustrato questo comportamento tramite l'animazione della larghezza di quattro rettangoli. Esempio:
Viene animato il primo rettangolo con DoubleAnimation e viene impostata la proprietà IsCumulative su true.
Viene animato il secondo rettangolo con DoubleAnimation e viene impostata la proprietà IsCumulative sul valore predefinito di false.
Viene animato il terzo rettangolo con DoubleAnimationUsingKeyFrames e viene impostata la proprietà IsCumulative su true.
Viene animato l'ultimo rettangolo con DoubleAnimationUsingKeyFrames e viene impostata la proprietà IsCumulative su false.
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <StackPanel Margin="20" > <!-- This rectangle is animated with DoubleAnimation and IsCumulative set to "True". --> <Rectangle Name="withIsCumulative" Width="100" Height="20" Margin="12,0,0,5" Fill="#AA3333FF" HorizontalAlignment="Left" /> <!-- This rectangle is animated with DoubleAnimation and IsCumulative set to "False". --> <Rectangle Name="withoutIsCumulative" Width="100" Height="20" Margin="12,0,0,5" Fill="#AA3333FF" HorizontalAlignment="Left" /> <!-- This rectangle is animated with DoubleAnimationUsingKeyFrames and IsCumulative set to "True". --> <Rectangle Name="withIsCumulativeUsingKeyFrames" Width="100" Height="20" Margin="12,0,0,5" Fill="#AA3333FF" HorizontalAlignment="Left" /> <!-- This rectangle is animated with DoubleAnimationUsingKeyFrames and IsCumulative set to "False". --> <Rectangle Name="withoutIsCumulativeUsingKeyFrames" Width="100" Height="20" Margin="12,0,0,5" Fill="#AA3333FF" HorizontalAlignment="Left" /> <!-- Create a button to restart the animations. --> <Button Margin="0,30,0,0" HorizontalAlignment="Left"> Restart Animations <Button.Triggers> <EventTrigger RoutedEvent="Button.Click"> <BeginStoryboard> <Storyboard> <!-- DoubleAnimation with IsCumulative set to "True". Because IsCumulative is set to "True", the base values of the animation will accumulate over repeat cycles. In this example, the first iteration will be from 100 to 200, the second will be from 200 to 300, the third from 300 to 400, etc. --> <DoubleAnimation Storyboard.TargetName="withIsCumulative" Storyboard.TargetProperty="Width" RepeatBehavior="4x" AutoReverse="True" IsCumulative="True" Duration="0:0:3" From="100" To="200" /> <!-- DoubleAnimation with IsCumulative set to "False". The starting value 100 pixels and repeat cycles do not build on earlier ones. --> <DoubleAnimation Storyboard.TargetName="withoutIsCumulative" Storyboard.TargetProperty="Width" RepeatBehavior="4x" AutoReverse="True" IsCumulative="False" Duration="0:0:3" From="100" To="200" /> <!-- DoubleAnimationUsingKeyFrames with IsCumulative set to "True". Similar to the DoubleAnimation above, the base value of each cycle builds on the last one. Note that the output value is the total output value from all the key frames for a total output of 100 pixels. --> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="withIsCumulativeUsingKeyFrames" Storyboard.TargetProperty="Width" RepeatBehavior="4x" AutoReverse="True" IsCumulative="True" > <DoubleAnimationUsingKeyFrames.KeyFrames> <LinearDoubleKeyFrame Value="100" KeyTime="0:0:0" /> <LinearDoubleKeyFrame Value="130" KeyTime="0:0:1" /> <SplineDoubleKeyFrame KeySpline="0.6,0.0 0.9,0.00" Value="200" KeyTime="0:0:3" /> </DoubleAnimationUsingKeyFrames.KeyFrames> </DoubleAnimationUsingKeyFrames> <!-- DoubleAnimationUsingKeyFrames with IsCumulative set to "False". The base value of each cycle does not build on the last one. --> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="withoutIsCumulativeUsingKeyFrames" Storyboard.TargetProperty="Width" RepeatBehavior="4x" AutoReverse="True" IsCumulative="False" > <DoubleAnimationUsingKeyFrames.KeyFrames> <LinearDoubleKeyFrame Value="100" KeyTime="0:0:0" /> <LinearDoubleKeyFrame Value="130" KeyTime="0:0:1" /> <SplineDoubleKeyFrame KeySpline="0.6,0.0 0.9,0.00" Value="200" KeyTime="0:0:3" /> </DoubleAnimationUsingKeyFrames.KeyFrames> </DoubleAnimationUsingKeyFrames> </Storyboard> </BeginStoryboard> </EventTrigger> </Button.Triggers> </Button> </StackPanel> </Page>
Windows Vista
.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.