Брз и лесен: Се движат правоаголник Користење на C # во Windows од App Store

Целокупната ми блог филозофија е дека тоа е совршено во ред да блог за стари, се населиле предмети кои се опфатени со смрт на друго место.  Претпоставувам оваа тема е една од оние, но јас сум таа блогирањето во секој случај.

Сум работел на прозорецот од App Store и јас сум во делот каде што треба да направите некои раздвижи.  За таа цел, Сум бил пронајдат парчиња и делови на Windows продавницата стан анимација која, како што излезе, е доста блиску до, но не баш како, XAML врз анимации во. НЕТ (Јас сум уште доаѓаат во костец со фактот дека WinRT <> .NET 🙂 ).

Утрово сакав да се добие рачка на drag and drop операции.  На патот кон кои, Добив заглави движат правоаголник наместо :).  Еве го кодот што се движи правоаголник кога корисникот ќе кликне на копчето:

   1:   
   2:              MatrixTransform ct = (MatrixTransform)rectBig.RenderTransform;
   3:              Матрица m = ct.Matrix;
   4:              m.OffsetX   = 10;
   5:              m.OffsetY   = 10;
   6:              ct.Matrix = m;
   7:              rectBig.RenderTransform = ct;

Трикот тука е дека јас не може директно да се промени OffsetX или OffsetY.  Може да има повеќе умен начин на вршење на оваа (и ако знаеш и се чувствувам како, Ве молиме да ја објавите во коментари). 

Со цел да го направите ова, Јас треба да:

1. Добие MatrixTransform на правоаголникот (со лиење RenderTransform).

2. Добие Матрица на тоа момче.

3. Промена неутрализира Матрикс е.

4. Преназначаване Матрикс назад кон MatrixTransform.

5. Преназначаване на MatrixTransform назад кон правоаголник.

За да го пробате, Ставив правоаголник и копчето на екранот. Кога ќе кликнете на копчето, горенаведените логика извршува и се движи на правоаголник веднаш.

Во одреден момент, Би сакал да се анимираат ова, но јас немам идеја како да се добие DoubleAnimation да работат на тоа (Storyboard.SetTargetProperty() е мистерија за мене на оваа засега).

</крајот>

undefinedДа се ​​претплатите на мојот блог.

Следете ме на Twitter во http://www.twitter.com/pagalvin

Остави Одговори

Вашата е-маил адреса нема да бидат објавени. Задолжителни полиња се означени *