משיב מוביל
איך לקבל מיקום של פקד ב־Windows Phone 7

שאלה
-
שלום.
אני מעוניין לקבל את המיקום הנוכחי של הפקד. ניסיתי לפי ה־Margins, אבל מהם אני מקבל רק את המיקום הראשוני (המיקום לא מתעדכן אחרי גרירת התמונה).
איך לקבל את המיקום? ויש דרך למצוא האם פקד נמצא על פקד אחר?
- הועבר על-ידי ipdd יום ראשון 26 פברואר 2012 21:46 (מאת:C# and .NET Framework)
יום ראשון 26 פברואר 2012 20:13
תשובות
-
הי,
רק אם הכנסת פקד בתוך Canvas באופן ישיר תראה שיש לו Top, Left.
כדי למשוך את הערכים מהקוד:
1. אפשר בעזרת Data Binding, בהנחה שאתה עובד עם.
2. אפשר בעזרת Canvas.GetLeft, Canvas.GetTop.
http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(v=vs.95).aspx
לגבי TranslateTransform, ניתן לבצע טרנספורמצית הזזה מבלי לשנות את ערכי הפאנל.
http://msdn.microsoft.com/en-us/library/system.windows.media.translatetransform(v=vs.95).aspx
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- סומן כתשובה על-ידי Eran Sharvit יום ראשון 04 מרץ 2012 15:41
יום רביעי 29 פברואר 2012 07:07מנחה דיון
כל התגובות
-
השאלה שייכת לפורום windows phone לכן העברתי אותה לשם.
קישור למיקום החדש של השאלה:
בהצלחה, ואם עזרתי, לחץ על 'סמן כתשובה', וסמן את התשובה כמועילה.
יום ראשון 26 פברואר 2012 21:48 -
הי,
בגדול Silverlight לא מאפשר לדעת מה מיקום הפקד באופן ישיר מפני שגדלים ומיקומים של רכיבים ויזואלים נקבעים עפ"י סוג ה- Layout Panel אליו הוא מוכנס.
לדוגמה, אם זרקת Button בתוך Canvas, אז המיקום של הכפתור מתקבל ע"י Canvas.Top, Canvas.Left. במקרה זה Left ו-Top הם Attached Properties שמספק ה- Canvas ורלוונטיים רק לאובייקטים שמוכנסים לתוך ה- Canvas.
לצורך העיניין, אתה יכול לגרור תמונה עם TranslateTransform, ואז למשל לקבל את המיקום דרך: TranslateTransform.X, TranslateTransform.Y.
תומר
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- הוצע כתשובה על-ידי תומר שמםModerator יום שלישי 28 פברואר 2012 11:32
יום שלישי 28 פברואר 2012 11:32מנחה דיון -
תודה על התשובה המהירה.
ניסיתי לקבל את המיקום ב־canvas אבל ברשימת ההצעות הערכים לא מופיעים (גם אין פונקצית Get שנראית מתאימה). איך אני משיג את הערכים של המאפיינים האלה?
ומה זה TranslateTransform?
יום שלישי 28 פברואר 2012 14:04 -
הי,
רק אם הכנסת פקד בתוך Canvas באופן ישיר תראה שיש לו Top, Left.
כדי למשוך את הערכים מהקוד:
1. אפשר בעזרת Data Binding, בהנחה שאתה עובד עם.
2. אפשר בעזרת Canvas.GetLeft, Canvas.GetTop.
http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(v=vs.95).aspx
לגבי TranslateTransform, ניתן לבצע טרנספורמצית הזזה מבלי לשנות את ערכי הפאנל.
http://msdn.microsoft.com/en-us/library/system.windows.media.translatetransform(v=vs.95).aspx
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- סומן כתשובה על-ידי Eran Sharvit יום ראשון 04 מרץ 2012 15:41
יום רביעי 29 פברואר 2012 07:07מנחה דיון