PDA

View Full Version : استفاده از Container ها و جابه جایی آیتم های داخلش



PetekDincos
سه شنبه 03 آبان 1390, 11:29 صبح
با سلام
من می خوام از یه Container مثل Canvas یا Wrappanel و ... به این صورت که بتونم این Container را گراید بندی کرده یعنی به سطر و ستون مشخص تقسیم کنم سپس و آیتم هایی که داخلش قرار دارند رو جابه جا کنم مثلا آیتم سطر اول و ستون دوم رو بتونم ببرم به مثلا سطر سوم و ستون چهارم با موس . با تشکر

Amir Oveisi
سه شنبه 03 آبان 1390, 23:11 عصر
آیا دلیل خاصی داره که نمیخواین از Grid‌استفاده کنید؟

PetekDincos
چهارشنبه 04 آبان 1390, 00:09 صبح
با سلام
من مشکلی با Grid ندارم فکر کنم شما متوجه منظور من نشدید من می خوام مثلا در Container گراید که به 5 سطر و 5 ستون تقسیم شده و در سلول ها کنترل قرار دارد می خوام با موس مثلا کنترل سطر 1 و ستون 2 رو بکشم و در سطر 3 و ستون 4 قرار بدم ممنون می شم از دوستانی که تو این زمینه من رو راهنمایی کنند با تشکر

Amir Oveisi
پنج شنبه 05 آبان 1390, 01:26 صبح
خوب ساده ترین راه اینه که با هندل کردن event های mouseDown و mouseMove اینکار رو انجام بدید.
http://www.wpftutorial.net/DragAndDrop.html
http://blogs.msdn.com/b/jaimer/archive/2007/07/12/drag-drop-in-wpf-explained-end-to-end.aspx
البته یه مشکلی که هست اینه که grid به شکل پیش فرض این قابلیت رو نداره که بر اساس position ای که دارید بتونید cell مورد نظر رو که موس روشه پیدا کنید و باید بر اساس طول و عرضی که cell‌هاتون دارند محاسبه کنید ببینید موس در حال حاضر روی کدوم cell هست.

راه دوم استفاده از کنترل Adorner هست که میتونین از این dragdrop framework هم برای کار با adorner‌استفاده کنید:
http://code.google.com/p/gong-wpf-dragdrop/
اینا هم دو نمونه از نحوه کار با این framework:
http://www.codeproject.com/KB/WPF/gong-wpf-dragdrop.aspx
http://www.codeproject.com/KB/WPF/gong-wpf-dragdrop-ii.aspx