Бърз и лесен: Премести правоъгълник, използвайки C# в ап магазина на Windows

Моята обща блог философия е, че това е съвършено глоба за блог за стария, постоянно теми, които са били обхванати до смърт другаде.  Предполагам, че тази тема е един от тези, но аз съм blogging това все пак.

Аз съм бил на работа на Прозорец магазин ап и аз съм в тази част където трябва да направите някои активност.  За тази цел, Аз съм фигуриращ битове и парчета от windows съхранява ап анимация които, както се оказва, е доста близо до, но не точно като, XAML базирани анимации в .NET (Аз съм все още се пребори с факта, че WinRT <> .NET 🙂 ).

Тази сутрин ми се искаше да се справя на влача и капка операции.  По пътя към това, Аз имам затънал преместване правоъгълник вместо :).  Тук е кодът, който движи правоъгълник, когато потребителят щракне върху бутон:

   1:   
   2:              MatrixTransform ct = (MatrixTransform)rectBig.RenderTransform;
   3:              Матрицата m = ct.Матрица;
   4:              m.OffsetX  = 10;
   5:              m.OffsetY  = 10;
   6:              CT.Матрицата = 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

Оставете отговор

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани *