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
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 <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>
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
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(); } } }
Visual studio génère une exception au begin :
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();
Merci d'avance pour votre aide.Cannot resolve TargetName Forum.
Partager