ปรัชญาของฉันบล็อกโดยรวมคือ ว่า มันเป็นอย่างดีเพื่อบล็อกเกี่ยวกับอายุ, เรื่องที่มีครอบคลุมอื่นตายแล้ว ผมถือว่า หัวข้อนี้เป็นหนึ่งในบรรดา, แต่บล็อกมันต่อไป.
ฉันได้ทำงานบนเป็นหน้าต่างที่เก็บ app และฉันในส่วนที่ต้องการบางอย่างทำให้เคลื่อนไหว เพื่อการนี้, ฉันได้รับหาบิต และชิ้นส่วนของ windows เก็บ app ภาพเคลื่อนไหวที่, เป็นดังปรากฎว่า, มีค่อนข้าง, แต่ไม่เหมือน, ภาพเคลื่อนไหวใช้ XAML ใน.NET (ฉันกำลังยังมากับความจริงที่ WinRT <> .เน็ต 🙂 ).
เช้านี้ผมต้องการได้รับการจัดการลาก และวางการดำเนินงาน เส้นทางน้ำที่, ผมมี bogged ลงย้ายสี่เหลี่ยมแทน :). นี่คือรหัสที่เลื่อนสี่เหลี่ยมเมื่อผู้ใช้คลิกที่ปุ่ม:
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() ลึกลับกับฉันนี้เป็นครั้ง).
</สิ้นสุด>
ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin