2010-10-15 7 views
1

J'ai utilisé WPF depuis un certain temps, mais je n'ai jamais vraiment considéré l'animation. J'essaie de réaliser ce qui suit, mais jusqu'à présent, pas réussi.Animation WPF/XAML avec son propre événement

J'ai une classe appelée "Propriété". Cette classe a la capacité de déclencher un événement:

public class Property 
{ 
    // ... 

    public event System.Windows.RoutedEventHandler Attract; 

    // ... 
}; 

Les propriétés sont affichées à l'écran. Parfois, je dois attirer l'attention de l'utilisateur sur une certaine propriété. Je veux lancer l'événement "Attirer" sur la propriété. Ensuite, à partir de XAML, lancez une animation.

Je me attends quelque chose comme ceci:

<Storyboard x:Key="blinkingAnimation"> 
    <DoubleAnimation From="0" To="1" Duration="0:0:5" RepeatBehavior="3x" AutoReverse="True" Storyboard.TargetProperty="(UIElement.Opacity)" /> 
</Storyboard> 

<DataTemplate x:Key="PropertyTemplate" DataType="{x:Type GridViewColumn}"> 
    <TextBox> 
     <TextBox.Triggers> 
      <EventTrigger RoutedEvent="Attract"> 
       <EventTrigger.Actions> 
        <BeginStoryboard Storyboard="{StaticResource blinkingAnimation}"/> 
       </EventTrigger.Actions> 
      </EventTrigger> 
     </c:NumericTextBox.Triggers> 
    </TextBox> 
</DataTemplate> 

Est-ce la bonne façon de le faire? À l'exécution, le compilateur ne parvient pas à résoudre l'événement "Attirer". Qu'est-ce que je fais mal?

Répondre

0

Ce n'est pas la bonne façon de déclarer un événement routé. Voir msdn (http://msdn.microsoft.com/en-us/library/system.windows.routedevent.aspx) pour référence.

+0

Merci. Résolu en utilisant ce lien: http://www.hardcodet.net/2009/05/trigger-wpf-animations-through-attached-events –