PDA

View Full Version : سوال: استفاده هم زمان از ScrollViewr و ViewBox



mrsalam
یک شنبه 26 دی 1389, 08:55 صبح
سلام من میخوام که همانند این تاپیکی که در codeproject زدم (http://www.codeproject.com/Questions/141700/using-Viewbox-and-ScrollBar-together.aspx)، تعداد زیادی مستطیل در یک کادر(ScrollViewer) نمایش داده به این دلیل که کاربر بتواند با اسکرول کردن ،مستطیل های اطراف را هم ببیند.
حال می خوام که همه اینها را درون یک ViewBox قرار بدم تا با دستکاری پارامترهای viewbox بتوان مستطیل ها را کوچکنمایی یا بزرگنمایی کرد(zooming)
:متفکر:
تصویر مربوطه:
http://s1.picofile.com/file/6249912472/MONITORING.png

mahan62
چهارشنبه 29 دی 1389, 23:19 عصر
شما میتونید مثلا کنار هر مسطتیل یک چک باکس بذارید و با انتخاب هر یک به این وسیله اون ها را عضو یک گروه منطقی بکنید و بعد توسط پارامترهای viewbox تغییرات مورد نظر رو به اونها اعمال کنید

mrsalam
پنج شنبه 30 دی 1389, 12:20 عصر
شما میتونید مثلا کنار هر مسطتیل یک چک باکس بذارید و با انتخاب هر یک به این وسیله اون ها را عضو یک گروه منطقی بکنید و بعد توسط پارامترهای viewbox تغییرات مورد نظر رو به اونها اعمال کنید

:متعجب:
متشکرم،ولی:
اگر به تصویر دقت کنید من با صدها باکس کار دارم و ایده شما برای این کار مناسب نیست...

mahdi7s
پنج شنبه 30 دی 1389, 16:54 عصر
سلام


حال می خوام که همه اینها را درون یک ViewBox قرار بدم تا با دستکاری پارامترهای viewbox بتوان مستطیل ها را کوچکنمایی یا بزرگنمایی کرد(zooming)

اگر احتمالا همچنان مشکل را دارید:
می توانید با تغییر Scale پنل پدر عمل Zooming را به راحتی انجام دهید

mrsalam
جمعه 01 بهمن 1389, 08:36 صبح
سلام



اگر احتمالا همچنان مشکل را دارید:
می توانید با تغییر Scale پنل پدر عمل Zooming را به راحتی انجام دهید
متشکرم آقا مهدی
می خوام که زوم را بر اساس مکان موس انجام بده.
به عبارتی جایی که موس روش هست همچنان در صفحه بمونه و زوم بشه نه اینکه از صفحه خارج بشه و کاربر مجبور بشه دنبال جعبه ای بگرده که داشته می دیده
امیدوارم مسئله رو شفاف گفته باشم.

mahdi7s
شنبه 02 بهمن 1389, 18:13 عصر
به عبارتی جایی که موس روش هست همچنان در صفحه بمونه و زوم بشه نه اینکه از صفحه خارج بشه و کاربر مجبور بشه دنبال جعبه ای بگرده که داشته می دیده
راههای متفاوتی وجود داره که معمولا باید محاسباتی هم انجام دهید...
یک راه حل بدون محاسبه:
رویداد MouseMove را برای تمام Rectangle هاتون در یک متد هندل کنید و اینطوری آخرین Rect ای که ماوس روی آن بوده را می توانید در یک متغییر سراسری نگهداری کنید و بعد با تغییر Zoom در پنجره اصلی Scale این Rect را هم تغییر دهید

موفق باشید

mrsalam
یک شنبه 03 بهمن 1389, 13:50 عصر
راههای متفاوتی وجود داره که معمولا باید محاسباتی هم انجام دهید...
یک راه حل بدون محاسبه:
رویداد MouseMove را برای تمام Rectangle هاتون در یک متد هندل کنید و اینطوری آخرین Rect ای که ماوس روی آن بوده را می توانید در یک متغییر سراسری نگهداری کنید و بعد با تغییر Zoom در پنجره اصلی Scale این Rect را هم تغییر دهید

موفق باشید
ممنونم ولی با این کار فاصله مستطیل مورد نظر با بقیه بهم می خوره
شما می تونین این کار رو خودتان انجام بدین و نتیجه رو به من بگین

mrsalam
یک شنبه 03 بهمن 1389, 13:52 عصر
راههای متفاوتی وجود داره که معمولا باید محاسباتی هم انجام دهید...
یک راه حل بدون محاسبه:
رویداد MouseMove را برای تمام Rectangle هاتون در یک متد هندل کنید و اینطوری آخرین Rect ای که ماوس روی آن بوده را می توانید در یک متغییر سراسری نگهداری کنید و بعد با تغییر Zoom در پنجره اصلی Scale این Rect را هم تغییر دهید

موفق باشید
ممنونم
ولی با این کار فاصله حاشیه بین بقیه مستطیل ها بهم می خوره
شما می تونی تو سیستمت امتحان کنی و اگر جواب داد به من توضیح بدی.باز هم متشکر

mahdi7s
دوشنبه 04 بهمن 1389, 19:33 عصر
سلام


ولی با این کار فاصله حاشیه بین بقیه مستطیل ها بهم می خوره
اگر همه مستطیل ها داخل ViewBox باشن این مشکل پیش نمیاد...

mrsalam
چهارشنبه 06 بهمن 1389, 07:37 صبح
راستی، باید به ازای هر باکس ، یک سلول در grid درست کنم؟

mahdi7s
چهارشنبه 06 بهمن 1389, 13:59 عصر
منظورتان از باکس؟
اگر منظورتان ViewBox است فقط یکی که تمام مستطیل ها داخل اون قرار می گیرند و شما فقط Scale آن مستطیل آخری را تغییر می دهید.

mrsalam
شنبه 16 بهمن 1389, 07:34 صبح
خیر، منظورم مستطیل هستش.
مثلا اگر بخوام 10000 مستطیل داشته باشم،آیا باید 100 ردیف و 100 ستون در گرید ایجاد کنم؟

mahdi7s
یک شنبه 17 بهمن 1389, 23:58 عصر
من توضیح کلی دادم - اصل کار وجود یک پنل پدر مثل ViewBox و مسطیلی است که ماوس روی آن هست

مثلا اگر بخوام 10000 مستطیل داشته باشم،آیا باید 100 ردیف و 100 ستون در گرید ایجاد کنم؟
اصلا مهم نیست که چه جوری چیده بشن ولی استفاده از UniformGrid کمی قدرت دینامیکی بالاتر و کد نویسی خیلی کمتر و ساده تری دارد