Мая агульная філасофія блога у тым, што гэта выдатна, блог аб старым, пасяліўся прадметах, якія былі пакрытыя да смерці ў іншым месцы. Я мяркую, што гэтая тэма з'яўляецца адной з тых, але я вяду блог у любым выпадку.
Я працую на 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() з'яўляецца загадкай для мяне на гэтым да пары да часу).
</канец>
Выконвайце за мной на Twitter у http://www.twitter.com/pagalvin