Dans un document XAML, j'ai un dégradé en tant que ressource et un tas de formes qui utilisent cette ressource. Je voudrais animer le pinceau en utilisant un storyboard, mais je ne sais pas comment mettre le pinceau dans les ressources comme cible du storyboard. Le simple fait d'utiliser son nom ne fonctionne pas, le nom {StaticResource name} ne fonctionne pas non plus. Est-ce même possible?Comment animer une ressource en XAML?
Je préférerais une solution XAML seulement, mais si cela ne fonctionne pas, je vais utiliser le code-behind. Si cela me permet de quitter Storyboard.Target et Storyboard.TargetProperty non affecté.
EDIT: Je voudrais animer un arrêt en dégradé de la brosse. La chose est que je peux l'animer facilement quand ce n'est pas une ressource, mais qu'elle est appliquée directement sur un objet. Je peux le faire en cliquant sur Expression Blend. Je ne sais pas comment animer quand sa ressource (à savoir ce qu'il faut mettre à la place du ?? dans le code ci-dessous (le story-board a été créé pour un rectangle))
code:
<UserControl.Resources>
<LinearGradientBrush x:Key="Outline" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#7F7CE3FF" Offset="0"/>
<GradientStop Color="#7F047695" Offset="1"/>
<GradientStop Color="#FFFFFFFF" Offset="0.942"/>
</LinearGradientBrush>
<Storyboard x:Key="Glitter">
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="??" Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)[0].(GradientStop.Offset)">
<SplineDoubleKeyFrame KeyTime="00:00:00" Value="0"/>
<SplineDoubleKeyFrame KeyTime="00:00:02.6000000" Value="0.529"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
...
Eh oui, cela fonctionne, mais j'ai plusieurs formes à l'aide de ce pinceau, de sorte Je pensais pouvoir tout faire à la fois. –
Comme je l'ai dit, je ne pense pas qu'il soit possible d'animer des objets qui sont stockés dans les ressources. – Andrej
J'ai ajouté un autre échantillon, où j'anime la brosse via code-behind. Cela semble ne pas poser de problème du tout. – Andrej