2009-07-27 4 views
0

Je me demandais simplement s'il était possible d'animer la hauteur d'une grille en utilisant purement XAML? J'ai regardé ce tutoriel: http://windowsclient.net/learn/video.aspx?v=70654WPF - Animation de longueur de grille en XAML

Mais il semble que l'on ait besoin d'écrire des fonctions personnalisées pour que cela fonctionne. Peut-il être fait uniquement par XAML purement?

+0

Vous pouvez - répondu correctement dans cette question SO. http://stackoverflow.com/q/2239299/22539 – foson

Répondre

3

ce n'est pas possible hors de la boîte car il n'existe pas de classe comme GridLengthAnimation (comparez avec DoubleAnimation). Si une telle classe existait (de vous, Microsoft ou tiers), il y aurait une solution XAML pure.

+0

Mais j'ai vu des animations qui ciblent la grille elle-même pour manipuler ses propriétés. Mais ce que je veux est probablement de cibler la ligne spécifique et modifier ses propriétés? Donc, je peux manipuler une grille, mais pas les colonnes et les lignes? –

+0

Eh bien, vous ne pouvez pas tout cibler dans une grille. Vous ne pouvez pas animer son nom, son alignement, le nombre de colonnes, la "visibilité" (bien que l'opacité soit disponible) car chacune de ces propriétés est d'un type qui n'a pas de classe * Animation correspondante. Vous pouvez animer toutes les propriétés qui sont des propriétés de dépendance et sont Couleurs, Doubles, Ints, Booléen etc (voir http://msdn.microsoft.com/en-us/library/system.windows.media.animation.aspx pour toutes les animations 2D). Les colonnes et lignes de grille ont leurs longueurs spécifiées comme propriétés GridLength, donc non, vous ne pouvez pas les animer sans code supplémentaire. –

3

Il y a un bon article à CodeProject, expliquant l'approche globale.

+0

Eh bien, il s'agit de GridLengthAnimation. Existe-t-il un exemple de GridLengthAnimationUsingKeyframes? Je ne pouvais pas trouver :( – Agzam

Questions connexes