Bonjour,

Je débute avec silverlight, et je suis en plein dans les animations.

J'ai créer un Storybord qui marche bien avec des composants simples, mais je n'arrive pas à l'appliquer a une partie d'un template (il ne trouve pas le nom).

Voici le xaml qui marche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<UserControl x:Class="Mondial_Ados.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Width="800" Height="300">
    <Grid x:Name="LayoutRoot" Background="LightGray" ShowGridLines="True">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="200"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="50"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Canvas>
            <TextBlock Text="bibi" x:Name="testPouet"/>
        </Canvas>
        <ListBox x:Name="Menu" Grid.Column="0" Grid.Row="1" Background="LightGreen" MouseEnter="Menu_MouseEnter">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <Image Source="{Binding Img}"/>
                        <Canvas>
                            <HyperlinkButton x:Name="{Binding Text}" Canvas.Left="10" Content="{Binding Text}" Background="BlueViolet" Width="150" VerticalAlignment="Center" Click="HyperlinkButton_Click"/>
                        </Canvas>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
        <Grid.Resources>
            <Storyboard x:Name="ItemAnimation">
                <DoubleAnimation Duration="00:00:01" SpeedRatio="4" From="10" To="30" Storyboard.TargetProperty="(Canvas.Left)"/>
            </Storyboard>
        </Grid.Resources>
    </Grid>
</UserControl>
avec son Behind code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
 
namespace Mondial_Ados
{
    public partial class Page : UserControl
    {
        public Page()
        {
            InitializeComponent();
            InitMenu();
        }
 
        public void InitMenu()
        {
            Menu.Items.Add(new ItemMenu("acc.png", "Accueil"));
            Menu.Items.Add(new ItemMenu("acc.png", "Forum"));
            Menu.Items.Add(new ItemMenu("acc.png", "Equipe"));
        }
 
        private void HyperlinkButton_Click(object sender, RoutedEventArgs e)
        {
            HyperlinkButton subject = sender as HyperlinkButton;
            subject.Foreground = new SolidColorBrush(Color.FromArgb(255, 255, 255, 255)); /* white */
            ItemAnimation.SetValue(Storyboard.TargetNameProperty, "testPouet");
            ItemAnimation.Begin();
        }
    }
}
Cependant quand je chercher a appliquer l'animation sur un item généré de cette facon :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
            HyperlinkButton subject = sender as HyperlinkButton;
            subject.Foreground = new SolidColorBrush(Color.FromArgb(255, 255, 255, 255)); /* white */
            ItemAnimation.SetValue(Storyboard.TargetNameProperty, "Forum");
            ItemAnimation.Begin();
Visual studio génère une exception au begin :
Cannot resolve TargetName Forum.
Merci d'avance pour votre aide.