דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. binding לא עובד אם זה לא עובר דרך הממשק.

binding לא עובד אם זה לא עובר דרך הממשק.

מתוזמן נעוץ נעול הועבר ארכיון code613m
4 פוסטים 2 כותבים 375 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • A מנותק
    A מנותק
    ayalaleora
    כתב ב נערך לאחרונה על ידי
    #1

    שלחתי להדפסה VISUAL כל שהוא. שבתוכו יש קישורים של BINDING .

    1. לא עבד הBINDING בכלל. ורק בהצגה על המסך זה עבד.
    2. כשהשתמשתי בSTATICRESOURCES והכנסתי אובייקט בRESOURCES את אותו אובייקט שבDATACONTEXT וקישרתי אליו הכל עבד מעולה. (בעקרון היה אפשר לקבוע את הנתונים בקוד ישר אבל כיון שאני צריך את זה לTEMPLATE ןSTYLE מאד לא נוח לעשות זאת דרך הקוד).
    3. דבר מוזר אחר שהכנסתי מערך לRESOURCE וקישרתי אליו LISTVIEW. ובאייטם הכנסתי TEXTBLOCK שהטקסט שלו מקושר בבינדינג לערך הנוכחי שבליסט. התוצאה היתה שהוא אכן הוסיף אייטמים לפי מספר האייטמים שבליסט שנמצא בRESOURCE אבל את הערך הוא לא הסכים להכניס לTEXTBLOCK.

    היוצא מכאן שאם הפקד לא מגיע למסך לא עובד בכלל הBINDING ואפי' אם מקור הנתונים הוא בתוך ה-RESOURCES לא יעבוד.
    ודרך אגב לא לדאוג אני לא משתמש בפנל וירטואלי אלא ב-WRAPPANEL.

    פורסם במקור בפורום CODE613 ב02/02/2014 21:08 (+02:00)

    תגובה 1 תגובה אחרונה
    0
    • A מנותק
      A מנותק
      ayalaleora
      כתב ב נערך לאחרונה על ידי
      #2

      כרגע גיליתי כך.
      כידוע DATABINDING מתייחס ל-DATACONTEXT הראשון שהוא מוצא בשרשרת, הוה אומר אם יש בילד DATACONTEXT מתייחס אליו ואם זה NULL הוא עובר להורה וכו'.

      אבל....

      כל זה במידה וזה מגיע לממשק אבל אם זה הולך ישירות להדפסה אז אפילו אם כופים INVALIDATE וכן MEASURE וכן ARRANGE הוא יודע להתייחס רק לDATACONTEXT של הפקד הנוכחי ולא מחפש בירושה.

      ולכן כנראה גם במקור נתונים של רשימה הוא לא ידע להתייחס לDATACONTEXT כיון שהוא נמצא בLISTVIEW והוא לא מעביר אותו לכל אייטם.

      פורסם במקור בפורום CODE613 ב02/02/2014 22:30 (+02:00)

      תגובה 1 תגובה אחרונה
      1
      • A מנותק
        A מנותק
        ayalaleora
        כתב ב נערך לאחרונה על ידי
        #3

        אז זהו..

        הבעייה היא בעצם רק לגבי LIST שDATACONTEXT שלו נמצא ב-CONTAINER שלו ולכן זה לא עובד אם זה לא רואה את המסך. לגבי שאר הפקדים בדרך כלל אפשר לגשת אליהם ישירות.

        והפתרון פשוט שלדוגמא בTEXTBOLCK במאפיין DATACONTEXT שלו צריך להכניס
        DataContext="{Binding DataContext, RelativeSource={RelativeSource TemplatedParent}}"
        ואז אנחנו מרוויחים שמקור הנתונים נמצא ישירות בפקד ולא ב-PARENT. כיון שהצהרנו מפורש שיעתיק מההורה לילד.

        מקווה שעזר למישהו

        פורסם במקור בפורום CODE613 ב03/02/2014 08:21 (+02:00)

        תגובה 1 תגובה אחרונה
        2
        • dovidD מחובר
          dovidD מחובר
          dovid ניהול
          כתב ב נערך לאחרונה על ידי
          #4

          התופעה מוזרה ומעניינת.
          מקוה לבדוק יום אחד.

          פורסם במקור בפורום CODE613 ב03/02/2014 12:05 (+02:00)

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          0

          בא תתחבר לדף היומי!
          • התחברות

          • אין לך חשבון עדיין? הרשמה

          • התחברו או הירשמו כדי לחפש.
          • פוסט ראשון
            פוסט אחרון
          0
          • דף הבית
          • קטגוריות
          • פוסטים אחרונים
          • משתמשים
          • חיפוש
          • חוקי הפורום