Моя общая философия блог является то, что прекрасно блог о старых, поселились предметы, которые были охвачены к смертной казни в других странах. Я предполагаю, что эта тема является одним из тех, но я блоги это все равно.
Я работаю на окне магазина app и я на части, где мне нужно сделать некоторые анимации. С этой целью, Я выяснить, биты и куски windows хранить анимации app который, как выясняется, довольно близко к, но не совсем как, Анимации на основе XAML в .NET (Я до сих пор прихожу в борьбу с тем, что WinRT <> .NET 🙂 ).
Сегодня утром я хотел, чтобы получить ручку на перетащить и падение операций. По маршруту, Я получил увязли вместо перемещения прямоугольника :). Вот код, который перемещает прямоугольник, когда пользователь нажимает кнопку:
1:
2: MatrixTransform ct = (MatrixTransform)rectBig.RenderTransform;
3: Матрица m = ct.Матрица;
4: m.OffsetX = 10;
5: m.OffsetY = 10;
6: КТ.Матрица = м;
7: rectBig.RenderTransform = ct;
Хитрость тут в том, что я не могу изменить непосредственно OffsetX и OffsetY. Там может быть более умный способ сделать это (и если вы знаете и чувствовать себя, как, Пожалуйста, пост в комментариях).
Чтобы сделать это, Мне нужно:
1. Получить MatrixTransform прямоугольника (путем приведения RenderTransform).
2. Получить матрицу что парень.
3. Изменение смещения матрицы.
4. Переназначить матрицы обратно в MatrixTransform.
5. Переназначить MatrixTransform обратно в прямоугольник.
Чтобы проверить его, Я положил прямоугольник и кнопку экрана. Когда я нажмите кнопку, выше логика выполняет и перемещает прямоугольник немедленно.
В определенный момент, Я хотел бы оживить это, но я понятия не имею, как получить DoubleAnimation для работы на нем (Storyboard.SetTargetProperty() в настоящее время для меня загадкой на это время).
</конец>
Следуй за мной по щебетать на http://www.twitter.com/pagalvin