Cyflym a hawdd: Symud Petryal Gan ddefnyddio C # Mewn Ffenestri Store App

Fy athroniaeth blog gyffredinol yw ei fod yn berffaith iawn i blog am hen, sefydlog pynciau sydd wedi cael ei drafod i farwolaeth mewn mannau eraill.  Rwy'n cymryd yn ganiataol y pwnc hwn yn un o'r rhai, ond rwy'n blogio beth bynnag.

Rydw i wedi bod yn gweithio ar siop app ffenestri ac rwy'n yn y rhan lle mae angen i mi wneud ychydig o animeiddio.  I'r perwyl hwn, Rwyf wedi bod yn figuring allan darnau a darnau o ffenestri siop app animeiddio sy'n, gan ei fod yn troi allan, yn eithaf agos at, ond nid yn union fel, XAML animeiddiadau a leolir yn. NET (Rwy'n dal i ddod i'r afael â'r ffaith bod WinRT <> .NET 🙂 ).

Y bore yma roeddwn i eisiau i gael gwybodaeth ynghylch gweithrediadau llusgo a gollwng.  Ar y ffordd i'r, Cefais fy llethu symud petryal yn lle hynny :).  Dyma y cod sy'n symud petryal pan mae'r defnyddiwr yn clicio botwm:

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

Y gamp yma yw nad wyf yn gallu newid yn uniongyrchol OffsetX neu OffsetY.  Gall fod yn ffordd fwy clyfar o wneud hyn (ac os ydych yn gwybod ac yn teimlo fel, postiwch yn y sylwadau). 

Er mwyn gwneud hyn, Mae angen i fi:

1. Cael y MatrixTransform y petryal (gan castio RenderTransform).

2. Cael y Matrics o y boi.

3. Newid gwrthbwyso y Matrics yn.

4. Ail-neilltuo Matrics yn ôl i'r MatrixTransform.

5. Ail-neilltuo i'r MatrixTransform yn ôl i'r Petryal.

I brofi ei, Yr wyf yn rhoi petryal a botwm y sgrin. Pan fyddaf yn clicio ar y botwm, y rhesymeg uchod yn gweithredu ac yn symud y petryal ar unwaith.

Ar ryw bwynt, Hoffwn i animeiddio hyn, ond nid oes gennyf unrhyw syniad sut i gael DoubleAnimation i weithio arno (Storyboard.SetTargetProperty() yn ddirgelwch i mi ar hyn am y tro).

</diwedd>

undefinedTanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin

Ad a Ateb

Ni fydd eich cyfeiriad e-bost yn cael ei gyhoeddi. Meysydd gofynnol yn cael eu marcio *