Rapid şi uşor: Mutaţi un dreptunghi folosind C# într-un App Windows Store

Filozofia mea de blog-ul general este că este foarte bine să blog despre vechi, s-au stabilit temele care au fost acoperite de moarte în altă parte.  Presupun că acest subiect este unul dintre cei, dar eu sunt blogging-ul este oricum.

Am fost de lucru pe un app store fereastră şi eu sunt la partea unde am nevoie pentru a face unele animare.  În acest scop, I-am fost imaginind biţi şi bucăţi de windows magazin app animaţie care, după cum se dovedeşte, este destul de aproape de, dar nu este exact ca, XAML bazat animaţii în .NET (Eu încă mai vin la trântă cu faptul că WinRT <> .NET 🙂 ).

În această dimineaţă am vrut pentru a obţine un mâner pe drag şi drop operaţiuni.  În drum spre care, I-am împotmolit în mişcare un dreptunghi în schimb :).  Aici este codul care se misca un dreptunghi atunci când utilizatorul face clic pe un buton:

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

Truc aici este că nu puteţi schimba direct OffsetX sau OffsetY.  Poate exista un mod mai inteligent de a face acest lucru (şi dacă ştiţi şi simţiţi-vă ca, vă rugăm să postaţi în Comentarii). 

Pentru a face acest lucru, Am nevoie pentru a:

1. Ia MatrixTransform de dreptunghi (prin turnare RenderTransform).

2. Matricea de tipul ăla a lua.

3. Modificarea matricei compensează.

4. Reatribuiţi matricea înapoi la MatrixTransform.

5. Reatribuiţi MatrixTransform înapoi la dreptunghi.

Pentru a testa, Am pus un dreptunghi şi butonul ecran. Când fac clic pe butonul, logica de mai sus execută şi se deplasează dreptunghi imediat.

La un moment dat, Aş dori pentru a anima acest lucru, dar nu am nici o idee cum să obţineţi un DoubleAnimation lucru (Storyboard.SetTargetProperty() este un mister pentru mine pe acest timp fiind).

</scop>

undefinedAboneaza-te la blog-ul meu.

Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin

lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate *