Хутка і лёгка: Перамяшчэнне прамавугольніка з дапамогай C # у Windows, у App Store

Мая агульная філасофія блога у тым, што гэта выдатна, блог аб старым, пасяліўся прадметах, якія былі пакрытыя да смерці ў іншым месцы.  Я мяркую, што гэтая тэма з'яўляецца адной з тых, але я вяду блог у любым выпадку.

Я працую на App Store акно, і я ў тую частку, дзе мне трэба зрабіць некаторыя анімацыі.  З гэтай мэтай, Я высвятляючы, біты і кавалкі анімацыі вокнаў крамы дадатак, якое, як высвятляецца, даволі блізка да, але не гэтак жа, як, XAML заснаваны ў анімацыі. NET (Я да гэтага часу ўступілі ў канфлікт з тым, што WinRT <> .NET 🙂 ).

Сёння раніцай я хацеў атрымаць ручку на аперацыі перацягвання.  Па шляху да, што, Я ўгразла перамяшчэння прамавугольніка замест :).  Вось код, які перамяшчае прастакутнік, калі карыстальнік націскае кнопку:

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

Хітрасць тут у тым, што я не магу змяніць OffsetX Наўпрост ці OffsetY.  Там можа быць больш разумным спосабам зрабіць гэта (і калі вы ведаеце і адчуваеце, як, калі ласка, напішыце ў каментарах). 

Для таго, каб зрабіць гэта, Мне трэба, каб:

1. Атрымаць MatrixTransform прамавугольніка (ліццём RenderTransform).

2. Атрымаем матрыцу таго хлопца.

3. Змена зрушэння Матрыцы.

4. Перапрызначэння Матрыца Вярнуцца да MatrixTransform.

5. Перапрызначэння MatrixTransform назад у прастакутнік.

Каб праверыць гэта, Я паклаў прастакутнік і кнопку экрана. Калі я пстрыкаю па кнопцы, Вышэй логікі выконваецца і перамяшчае прастакутнік Адразу.

У нейкі момант, Я хацеў бы, каб ажывіць гэта, але я паняцця не маю, як атрымаць DoubleAnimation працаваць на ім (Storyboard.SetTargetProperty() з'яўляецца загадкай для мяне на гэтым да пары да часу).

</канец>

undefinedПадпісацца на мой блог.

Выконвайце за мной на Twitter у http://www.twitter.com/pagalvin

Пакінуць каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя палі пазначаныя * *