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

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

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

בינדינג לradioButton לערכים שהוגדרו בתור ENUM

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

    יש לי שני משתנים שהם מסוג enum
    (הראשון לגבי מין האדם:זכר או נקבה) והשני לגבי סוג התרומה (חד פעמית/חדשית).

    למשתמש אני מציג את זה כradioButton, ואני רוצה לעשות בינדינג למשתנים הללו שכאשר בוחרים בסימון לאחד מהדברים יבחר הערך הנכון מהenum/
    האם אפשר לעשות זאת או שחייבים בשביל זה להשתמש בקוד?

    תודה רבה רבה!!

    public enum Gender { male, female}
     public Gender gender { get; set; }
    

    קוד זאמל:

    <HeaderedContentControl Header="מין">
                                <Grid>
                                    <WrapPanel>
                                        <RadioButton IsChecked="True" x:Name="maleRadioButton" >זכר</RadioButton>
                                        <RadioButton x:Name="femaleRB">נקבה</RadioButton>
                                    </WrapPanel>
                                </Grid>
                            </HeaderedContentControl>
    

    פורסם במקור בפורום CODE613 ב23/07/2015 18:36 (+03:00)

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

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

      פורסם במקור בפורום CODE613 ב23/07/2015 19:11 (+03:00)

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

        איזה ערך הרדיו בוטון מכיל? חשבתי שזה ערך בוליאני ולכן כתבתי את הקונוורטור הבא:

        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
                {
                    bool _value = (bool)value;
                   
                    if (_value == true)
                        return Gender.female;
                    else
                        return Gender.male;
                }
        

        ובקוד הזאמל כתבתי כך:

        <HeaderedContentControl Header="מין">
                                    <Grid>
                                        <WrapPanel>
                                            <RadioButton IsChecked="True">זכר</RadioButton>
                                            <RadioButton IsChecked="{Binding Converter={StaticResource convertorGender}, Path=gender}"
                                                         >נקבה</RadioButton>
                                        </WrapPanel>
                                    </Grid>
                                </HeaderedContentControl>
        

        הבעיה היא שכאשר אני מריץ אותו הוא זורק לי שהערך אינו מתאים, בדקתי בדבג ובאמת אני רואה שהוא זורק את הערך male (כלומר המאפיין gender מכיל את male או את female, וערך ברירת המחדל שלו הוא male). כנראה זה בגלל שעשיתי לו בבינדינג path לערך הזה, אז הוא מציג לי את ערך ברירת המחדל שלו. אם אני מנסה למחוק את הpath ולהשאיר רק את הconverter אז אני מקבל הודעת שגיאה, ובצדק כיון שהוא לא יודע היכן לשמור את הבינידנג...
        מה לעשות?
        תודה ושבת שלום!! ובבניין ירושלים ננוחם!!

        פורסם במקור בפורום CODE613 ב24/07/2015 17:14 (+03:00)

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

          נראה לי מקופיא, שהממיר צריך לעבוד הפוך, כלומר להמיר מENUM שלך לבוליאני כיון שבינדינג פירושו שהפקד מקבל ערך מהמקור כלומר הכל מתחיל מהמקור ואז חוזר לפקד, א"כ בפונקציה Convert צריך לממש המרה מהENUM לבוליאני.

          שבת שלום לך ולכל ישראל
          במהרה יבוא גואל
          ויחלצנו מכל צרה
          מאפילה לאורה.

          פורסם במקור בפורום CODE613 ב24/07/2015 17:47 (+03:00)

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

            הנושא שלך מדובר כאן במפורש.
            וראה גם כאן

            פורסם במקור בפורום CODE613 ב26/07/2015 15:36 (+03:00)

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

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

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

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

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