Snel en eenvoudig: Een rechthoek met behulp van C# In een App Store van Windows verplaatsen

Mijn algemene blog filosofie is dat het is perfect in orde om een blog over oude, geregeld onderwerpen die ter dood elders zijn behandeld.  Ik neem aan dat dit onderwerp is een van die, maar ik ben bloggen het toch.

Ik heb gewerkt aan een venster Opslag app en ik ben op het deel waar mij nood voor verrichten sommige animeren.  Te dien einde, Ik heb al uitzoeken bits en stukken van windows opgeslagen app animatie die, het blijkt dat, is heel dicht bij, maar niet precies zoals, XAML gebaseerd animaties in .NET (Ik ben nog steeds vat te krijgen op het feit dat WinRT <> .NET 🙂 ).

Vanmorgen ik wilde krijgen greep op slepen en neerzetten operaties.  Onderweg naar die, Ik kreeg verzanden in plaats daarvan een rechthoek verplaatsen :).  Hier is de code die een rechthoek wordt verplaatst wanneer de gebruiker op een knop klikt:

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

De truc hier is dat ik direct OffsetX of OffsetY niet wijzigen.  Kan er een meer slimme manier om dit te doen (en als u weet en voelt zoals, Gelieve te posten in de commentaren). 

Om dit te doen, Ik nodig om te:

1. Krijgen van de MatrixTransform van de rechthoek (door het gieten van RenderTransform).

2. Krijgen de Matrix van die kerel.

3. De Matrix offsets wijzigen.

4. Opnieuw toewijzen van de Matrix terug naar de MatrixTransform.

5. Opnieuw toewijzen van de MatrixTransform terug naar de rechthoek.

Om het te testen, Ik zette een rechthoek en het scherm knop. Wanneer ik klik op de knop, de bovenstaande logica voert en beweegt de rechthoek onmiddellijk.

Op een bepaald punt, Ik wil animatie toevoegen aan dit, maar ik heb geen idee hoe te krijgen een DoubleAnimation om te werken aan het (Storyboard.SetTargetProperty() wordt een mysterie voor me op dit voor de tijd).

</einde>

undefinedAbonneren op mijn blog.

Volg mij op Twitter op http://www.twitter.com/pagalvin

Laat een antwoord achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *