Pantas dan Mudah: Bergerak Rectangle Menggunakan C # Dalam Windows App Store

Falsafah blog saya secara keseluruhan adalah bahawa ia adalah betul-betul halus untuk blog tentang lama, diselesaikan mata pelajaran yang telah ditutup untuk mati di tempat lain.  Saya menganggap topik ini adalah salah seorang daripada mereka, tetapi saya menulis blog teruskan.

Saya telah bekerja di sebuah kedai aplikasi tingkap dan saya di bahagian mana saya perlu melakukan beberapa animasi.  Untuk tujuan ini, Saya telah memikirkan bit dan keping tingkap kedai aplikasi animasi yang, kerana ia ternyata, agak dekat dengan, tetapi tidak sama seperti, XAML berdasarkan animasi dalam. BERSIH (Saya masih datang ke genggaman dengan hakikat bahawa WinRT <> .NET 🙂 ).

Pagi ini saya ingin mendapatkan mengendalikan operasi seret dan lepaskan.  Perjalanan dengan, Saya mendapat sibuk bergerak persegi panjang dan bukannya :).  Berikut adalah kod yang bergerak segiempat tepat apabila pengguna klik butang:

   1:   
   2:              MatrixTransform ct = (MatrixTransform)rectBig.RenderTransform;
   3:              Matrix m = ct.Matrix;
   4:              m.OffsetX   = 10;
   5:              m.OffsetY   = 10;
   6:              ct.Matrix = m;
   7:              rectBig.RenderTransform = ct;

Silap mata di sini adalah bahawa saya tidak boleh terus menukar OffsetX atau OffsetY.  Mungkin ada cara yang lebih bijak untuk berbuat demikian (dan jika anda tahu dan merasa seperti, sila pos dalam komen). 

Dalam usaha untuk melakukan ini, Saya perlu:

1. Dapatkan MatrixTransform segi empat (oleh pemutus RenderTransform).

2. Dapatkan Matrix lelaki yang.

3. Perubahan ofset Matrix ini.

4. Menyerahhakkan semula Matrix kembali ke MatrixTransform yang.

5. Menyerahhakkan semula kembali MatrixTransform untuk Persegi.

Untuk menguji, Saya meletakkan segi empat dan butang skrin. Apabila saya klik butang, logik di atas melaksanakan dan bergerak persegi panjang dengan segera.

Pada satu ketika, Saya ingin bernyawa ini tetapi saya tidak mempunyai idea bagaimana untuk mendapatkan DoubleAnimation untuk bekerja di atasnya (Storyboard.SetTargetProperty() adalah satu misteri kepada saya mengenai perkara ini pada masa itu).

</akhir>

undefinedLanggan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Tinggalkan Jawapan

alamat e-mel anda tidak akan diterbitkan. Ruangan yang diperlukan ditanda *