Voir Path Animations Overview et MatrixAnimationUsingPath
Il peut être utilisé pour déplacer un contrôle le long d'un PathGeometry et si vous définissez DoesRotateWithTangent, le contrôle tournera également dans la direction du chemin.
EDIT1:
<Page.Resources>
<PathGeometry x:Key="Path" x:Shared="False" Figures="M 10,100 C 35,0 135,0 160,100 180,190 285,200 310,100"/>
</Page.Resources>
<Canvas Width="400" Height="400">
<Path Data="{StaticResource Path}" Stroke="Blue" StrokeThickness="1"/>
<Path
x:Name="Arrow1"
Stretch="Fill"
Width="16" Height="16" StrokeLineJoin="Miter"
Data="M 0 -5 L 10 -5 M 5 0 L 10 -5 L 5 -10"
Stroke="Black" StrokeThickness="3">
<Path.RenderTransform>
<TransformGroup>
<TranslateTransform X="-8" Y="-8"/>
<MatrixTransform>
<MatrixTransform.Matrix>
<Matrix/>
</MatrixTransform.Matrix>
</MatrixTransform>
</TransformGroup>
</Path.RenderTransform>
<Path.Triggers>
<EventTrigger RoutedEvent="Path.Loaded">
<BeginStoryboard>
<Storyboard>
<MatrixAnimationUsingPath
Storyboard.TargetName="Arrow1"
Storyboard.TargetProperty="RenderTransform.Children[1].Matrix"
DoesRotateWithTangent="True"
Duration="0:0:5"
BeginTime="0:0:0"
RepeatBehavior="Forever" PathGeometry="{StaticResource Path}" >
</MatrixAnimationUsingPath>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Path.Triggers>
</Path>
</Canvas>
EDIT2: Calcul combien de flèches vous avez besoin
Je suppose que vous créez un contrôle personnalisé et ajoutez des flèches programme? Si oui, je pense que le plus simple serait de spécifier une durée pour une seule boucle et un BeginTimeGap, le temps entre les BeginTimes des flèches suivantes. Le nombre de flèches, vous devez ajouter serait Durée/BeginTimeGap, ou dans le code simplifié:
while (BeginTime < Duration)
{
//add arrow with BeginTime and Duration;
BeginTime += BeginTimeGap;
}
Obtenir la bonne vitesse et de l'espacement entre les flèches descendraient pour peaufiner ces deux valeurs.
J'ai regardé et je ne pense pas que ce soit quelque chose le long des lignes de ce que je suis après. –
Vous êtes sûr? Essayez d'exécuter le xaml j'ai ajouté ... si ce n'est pas ce que vous voulez, pourrait essayer de clarifier votre question? – Bubblewrap
Ok, ça m'intéresse;) Ok comment cela serait-il modifié pour avoir une tête de flèche se déplaçant le long de la ligne espacée de 40px ... Donc c'est comme un flot continuel de têtes de flèches? –