2010-12-05 29 views
4

SalutationsWPF - Contrôle utilisateur animé

Je suis actuellement en train de faire une application dans WPF car je suis assez nouveau pour WPF Je rencontre des difficultés. J'ai googlé ma question mais sans grand succès. Telle est la situation actuelle, XAML de la fenêtre principale ci-dessous:

<Grid Height="279" HorizontalAlignment="Left" Margin="166,0,0,0" Name="gridScoreboard" VerticalAlignment="Top" Width="808"> 
    <!--Scoreboard Image--> 
    <Image Source="pack://application:,,,/Images/Style/Scoreboard.png" Width="517" Height="91" HorizontalAlignment="Left" Margin="138,1,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" /> 

    <Canvas Name="canvasRacePlayer1" Width="14" Height="14" Canvas.Left="33" Canvas.Top="66" Background="Transparent" MouseLeftButtonDown="canvasRacePlayer1_MouseLeftButtonDown" Margin="171,70,623,195" /> 
    <local:ucRaces HorizontalAlignment="Center" Margin="93,62,632,187" Width="78" Visibility="Hidden" x:Name="ucRacesP1" Height="33" /> 
</Grid> 

Le contrôle utilisateur est caché au début (ucRaces), une fois que la petite toile (canvasRacePLayer1) est cliqué sur le contrôle de l'utilisateur seront affichées. Cependant, je voudrais que ce contrôle de l'utilisateur «glisser» de droite à gauche à partir d'un certain point. Comme si cela deviendrait visible à petits pas. J'ai trouvé des informations pour les animations pour les rectangles et les boutons mais pas vraiment de succès pour les contrôles utilisateur.

Nous vous remercions à l'avance

Répondre

3

Si vous voulez créer des animations pour votre projet WPF, je vous suggère d'utiliser Expression Blend. Vous pouvez concevoir votre programme en utilisant EB et implémenter ses fonctionnalités à l'aide de Visual Studio. Il sera difficile de faire des animations, d'écrire de la syntaxe XAML ou du code C#.

Comment seriez-vous capable d'animer vos contrôles utilisateur en utilisant EB? Eh bien, c'est en fait très simple. Vous devez d'abord ouvrir votre projet WPF existant. Ensuite, allez dans Fichier -> Nouvel élément -> Contrôle utilisateur et créez le contrôle utilisateur. Ensuite, si vous voulez l'ajouter à votre projet, revenez au projet WPF actuellement ouvert dans EB et cliquez sur les flèches de droite (>>) dans la barre d'outils placée sur le côté gauche de l'écran et allez dans Projet -> [Votre contrôle utilisateur ici]. Maintenant, vous l'avez ajouté à votre projet.

Si vous souhaitez animer le contrôle utilisateur, vous devez ajouter un StoryBoard à votre montage. Lorsque vous êtes sur votre projet WPF dans EB, sous Objets et chronologie, cliquez sur le signe plus (+) et ajoutez un nouveau StoryBoard. Maintenant, vous avez un calendrier que vous devez utiliser pour animer votre contrôle utilisateur. Vous pouvez placer les attributs KeyTime sur le scénario et définir le chemin que le contrôle utilisateur est supposé suivre depuis l'emplacement A vers l'emplacement B, ainsi que le niveau d'opacité si vous souhaitez que le contrôle utilisateur devienne progressivement visible.

Vous pouvez ajouter un contrôle utilisateur supplémentaire et implémenter sa logique pour le deuxième utilisateur. Expression Blend va vous faciliter la vie.

0

Animer votre UserControl ne devrait pas être très différent de animant tout autre objet WPF: Vous pouvez animer la marge (en utilisant un ThicknessAnimation), ou déposez votre contrôle utilisateur dans une toile de son propre, puis animez la propriété Canvas.Leftde votre contrôle utilisateur. Dans ce dernier cas, veillez à mettre le nom de la propriété entre parenthèses: Storyboard.TargetProperty="(Canvas.Left)".

+0

Pourriez-vous fournir des codes C#? –