Greitai ir lengvai: Perkelti naudojant C# Windows Store App stačiakampis

Savo bendrą dienoraštį filosofija, kad tai yra visiškai gerai į dienoraštį apie senosios, apsigyveno temų, kurios buvo įtrauktos į mirties kitur.  Manau, ši tema yra viena iš tų, bet aš dienoraštį ji bet kokiu atveju.

I been darbo lango store app ir aš esu dalis kur man reikia padaryti šiek tiek pagyvėja.  Šiuo tikslu, Aš jau buvo suprasti, bitai ir vienetų Windows saugoti app animacija,, kaip paaiškėjo, yra gana arti, bet ne lygiai taip pat kaip, XAML pagal animacijos .NET (Aš vis dar eina į kovą su tuo, kad WinRT <> .TINKLAS 🙂 ).

Šį rytą aš norėjau susitvarkyti vilkite ir upuść operacijas.  Pakeliui į, Aš turiu Ugrzęźnięty juda stačiakampis vietoj :).  Čia yra kodas, kuris juda stačiakampis, kai vartotojas spusteli mygtuką:

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

Trick čia, kad aš negaliu tiesiogiai pakeisti OffsetX ar OffsetY.  Ten gali būti daugiau protingas būdas tai padaryti (ir jei jūs žinote ir jaustis kaip, Prašome rašyti komentarus). 

Šiuo tikslu, Man reikia:

1. Gauti stačiakampio MatrixTransform (liejimo RenderTransform).

2. Gauti kad vaikinas matrica.

3. Pakeisti nukrypimais į matrica.

4. Iš naujo priskirti matrica grįžti į į MatrixTransform.

5. Iš naujo priskirti MatrixTransform atgal į stačiakampio.

Išbandyti, Aš įdėti stačiakampį ir mygtuką ekrano. Kai aš spauskite mygtuką, aukščiau logika vykdo ir juda stačiakampis iš karto.

Tam tikru momentu, Aš norėčiau Animuoti tai, bet aš neįsivaizduoju, kaip gauti DoubleAnimation dirbti su juo (Storyboard.SetTargetProperty() ar man paslaptis šį kartą yra).

</pabaigos>

undefinedPrenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

palik atsakymą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *