Быстро и легко: Перемещение прямоугольника с помощью C# в App Windows Store

Моя общая философия блог является то, что прекрасно блог о старых, поселились предметы, которые были охвачены к смертной казни в других странах.  Я предполагаю, что эта тема является одним из тех, но я блоги это все равно.

Я работаю на окне магазина 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() в настоящее время для меня загадкой на это время).

</конец>

undefinedПодписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Оставь ответ

Ваш электронный адрес не будет опубликован. Обязательные поля помечены *