Facile et rapide: Déplacer un Rectangle en utilisant c# dans une appli Windows Store

Ma philosophie globale de blog, c'est qu'il est parfaitement bien pour blog sur les vieux, réglé des sujets qui ont été couverts à mort ailleurs.  Je suppose que ce sujet est un de ces, mais je suis blogging il toute façon.

J'ai travaillé sur un app store de fenêtre, et je suis à la partie où je dois faire une animation.  À cette fin, J'ai été figurant des bouts et de stockent des morceaux de windows animation app qui, Il s'avère que, est assez proche de, mais pas exactement comme, Animations de XAML basé dans .NET (Je suis encore à venir à bout avec le fait que WinRT <> .NET 🙂 ).

Ce matin j'ai voulu obtenir une poignée sur le glisser et déposer des opérations.  En route vers qui, Je me suis embourbé déplacer un rectangle à la place :).  Voici le code qui déplace un rectangle lorsque l'utilisateur clique sur un bouton:

   1:   
   2:              MatrixTransform ct = (MatrixTransform)rectBig.RenderTransform;
   3:              Matrice m = ct.Matrice;
   4:              m.OffsetX  = 10;
   5:              m.OffsetY  = 10;
   6:              CT.Matrice = m;
   7:              rectBig.RenderTransform = ct;

L'astuce ici est que je ne peux pas changer directement OffsetX ou OffsetY.  Il peut y avoir un moyen plus astucieux de le faire (et si vous connaissez et que vous sentez comme, Merci de poster dans les commentaires). 

Pour ce faire, J'ai besoin de:

1. Obtenez le MatrixTransform du rectangle (en effectuant un cast RenderTransform).

2. Récupère la matrice de ce gars.

3. Changer les décalages de la matrice.

4. Réaffecter la matrice à MatrixTransform.

5. Réaffecter le MatrixTransform retour au Rectangle.

Pour le tester, J'ai mis un rectangle et bouton à l'écran. Lorsque je clique sur le bouton, la logique ci-dessus s'exécute et déplace le rectangle immédiatement.

À un certain moment, J'aimerais animer cela mais je n'ai aucune idée de comment obtenir une DoubleAnimation pour travailler dessus (Storyboard.SetTargetProperty() fait d'être un mystère pour moi là-dessus pour le moment).

</fin>

undefinedS'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin

Laisser une réponse

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *