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

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

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

WPF למה הבינדינג לא מעדכן כשהמקור משתנה

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

    עשיתי תפריט שה MenuItems שלו באים מה טאב-איטמס של טאב-קונטרול על ידי בינדינג וקונוורטר, ובאמת כל הטאב-איטמס שנוצרים בהתחלה מופיעים כנגדם MenuItems בתפריט, אבל אם אני מוסיף או מוחק טאב-אייטם אחד זה לא מתעדכן דרך הבינדינג ובתפריט כלום לא זז, מדוע הבינדיג לא מעדכן?

    <Menu Name="Menu1" VerticalAlignment="Stretch" Grid.Column="1"
          VerticalContentAlignment="Center"  >
        <Menu.Resources>
            <my:TabItemsConverter x:Key="TabItemsConverter1" />
        </Menu.Resources>
        <MenuItem  Click="MenuItem1_Click"
            ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, 
            AncestorType=TabControl, AncestorLevel=1}, Path=Items, 
            Converter={StaticResource TabItemsConverter1}}" 
            Name="MenuItem1" VerticalAlignment="Stretch"
                   VerticalContentAlignment="Stretch"
                   HorizontalAlignment="Center"
                   HorizontalContentAlignment="Center">
        </MenuItem>
    </Menu>
    

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

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

      (להבא, אנא, חסוך מהקוד כל קטע לא רלוונטי).
      הבעיה פשוטה, אתה עושה קונוורטר ברמת האוסף, ולכן אתה נותן לItemsSource אוסף חדש ע"י הקונוורטר, והוא עוקב אך ורק אחריו.
      תעשה המרה במרת פריט.

      כמה הערות:

      1. אתה לא צריך שום קונוורטר, כי אתה יכול לקחת ישר את הHeader של כל טאב, בדיוק כמו הטאב עצמם.
      2. אתה לא צריך אירוע לחיצה על פריט, אלא בינדינג בין האינדקס הנבחר של הקומבו לבין האינדקס הנבחר של הTabControl.

      פורסם במקור בפורום CODE613 ב05/01/2014 13:10 (+02:00)

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

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

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

        תודה רבה,
        באמת לא שמתי לב שבעצם אני מגיש לבינדינג אוסף חדש.

        @דוד ל.ט.

        1. אתה לא צריך שום קונוורטר, כי אתה יכול לקחת ישר את הHeader של כל טאב, בדיוק כמו הטאב עצמם.

        זה מה שעשיתי בהתחלה, אבל אז בארוע לחיצה על שורה בתפריט לא יכולתי לדעת באיזו שורה מדובר, כלומר לא יכולתי להגיע לאינדקס של השורה, ולכן הכנסתי לתפריט אוסף של 'שורות תפריט' ולא סתם אוסף של מחרוזות.

        @דוד ל.ט.

        1. אתה לא צריך אירוע לחיצה על פריט, אלא בינדינג בין האינדקס הנבחר של הקומבו לבין האינדקס הנבחר של הTabControl.

        אבל אין פה קומבו אלא תפריט עם שורות?

        פורסם במקור בפורום CODE613 ב05/01/2014 13:38 (+02:00)

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

          נכון התבלבלתי בין קומבו (למה לא באמת?) לבין תפריט.
          אבל עדיין את הקונוורטר אתה לא צריך.
          אתה צריך לאגד את כל האייטם ולהציב דטה טמפלט שימשוך את הHeader.

          פורסם במקור בפורום CODE613 ב05/01/2014 14:23 (+02:00)

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

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

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

            אולי קומבו זה טוב, אבל אני רוצה לעשות כמו ב VS שיש בצד ימין חץ קטן שמוציא תפריט ובכל שורה יש גם אייקון קטן ולזה מתאים תפריט.

            @דוד ל.ט.

            אתה צריך לאגד את כל האייטם ולהציב דטה טמפלט שימשוך את הHeader.

            מה הכוונה? אולי יש דוגמא?
            תודה רבה.

            פורסם במקור בפורום CODE613 ב05/01/2014 14:27 (+02:00)

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

              בדיוק כמו שעשית רק תמחוק את הקונוורטר ותוסיף מקטע דטה טמפלט או שתשתמש בDisplayMemberPath.

              פורסם במקור בפורום CODE613 ב05/01/2014 14:42 (+02:00)

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

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

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

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

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

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