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

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

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

WPF: שגיאה באירוע selected בקומבו

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

    בקומבו שהוזכר לעיל (לגבי האמצעי תשלום) כתבתי את אירוע שנועד לבדוק איזה סוג אמצעי נבחר, וע"פ זה להחליט איזה המשך של הטופס להציג למשתמש.
    למשל, אם הוא בחר בכרטיס אשראי - הוא יתן לו להזין את פרטי הכרטיס, ואם מדובר בתרומה חד פעמית - יקפיץ לו מסך לחיוב מיידי באשראי.
    אם הוא בוחר בהו"ק בנקאית - יתן לו בהמשך שדות להזנת פרטי הבנק, וכן על זה הדרך.
    כתבתי זאת לאירוע selected של הקומבו, אך אני מקבל את השגיאה הבאה:
    'ComboBox' does not contain a definition for 'Selected' and no extension method 'Selected' accepting a first argument of type 'ComboBox' could be found (are you missing a using directive or an assembly reference?)

    הקוד בזאמל הוא:

    <ComboBox Width="120" x:Name="howToDonationCB" ItemsSource="{Binding Source={x:Static local:MainWindow.paymentMethod}, Mode=OneWay}"
                                          DisplayMemberPath="Value" SelectedValuePath="Key" SelectedValue="{Binding MethodPayment}"
                                          Selected="SelectedPaymentMethotComboBox_Selected" />
    

    והקוד של האירוע הוא:

    private void SelectedPaymentMethotComboBox_Selected(object sender, RoutedEventArgs e)
            {
                try
                {               
                    if (donation1.MethodPayment == 1)
                    {
                        if (disposableRB.IsChecked == false)//אם מדובר בתרומה קבועה
                        {
                            creditCardWP.Visibility = Visibility.Visible;
                            bankAccountWP.Visibility = Visibility.Collapsed;
                        }
                        else//אם מדובר בתרומה חד פעמית
                        {//פותח חלון לחיוב מיידי באשראי
                            CreditCard.DebitRegular dr = new CreditCard.DebitRegular();
                            dr.ShowDialog();
                        }
                    }
                    else if (donation1.MethodPayment == 2)
                    {
                        creditCardWP.Visibility = Visibility.Collapsed;
                        bankAccountWP.Visibility = Visibility.Visible;
                    }
                    else
                    {
                        creditCardWP.Visibility = Visibility.Collapsed;
                        bankAccountWP.Visibility = Visibility.Collapsed;
                    }
                }
                catch(Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
    

    ולרחמים אם זה לא מתאים לMVVM זה בגלל שעדיין אינני יודע מה זה בדיוק :oops: :oops:
    כלומר אני יודע שזה הפרדת הקוד מהתצוגה, אך לא יודע עדיין איך מממשים את זה..
    בע"ה אני מתכנן ללמוד גם את זה בהמשך (בלנ"ד...)

    פורסם במקור בפורום CODE613 ב09/09/2015 20:35 (+03:00)

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

      אין לך השלמה אוטומטית? אין בכלל מאפיין/אירוע בשם זה! האירוע נקרא: SelectionChanged. (בXAML כשאתה מקליד שם אירוע אז אחרי סימן השווה ההשלמה האוטומטית נותנת אופציה Create Method שיוצרת את בלוק הקוד לאירוע).

      פורסם במקור בפורום CODE613 ב09/09/2015 20:41 (+03:00)

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

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

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

        @דוד ל.ט.

        אין לך השלמה אוטומטית? אין בכלל מאפיין/אירוע בשם זה! האירוע נקרא: SelectionChanged. (בXAML כשאתה מקליד שם אירוע אז אחרי סימן השווה ההשלמה האוטומטית נותנת אופציה Create Method שיוצרת את בלוק הקוד לאירוע).

        לא הבנתי..
        בהשלמה האוט' הוא נותן לי אירוע בשם selectet
        ואז בחרתי שייצור אירוע חדש ושיניתי לו את השם לשם הזה...
        מה לא טוב באירוע selected?
        בכל אופן אנסה כמו שכתבת.. רק מעניין אותי לדעת כי לפני זה זה כן עבד לי (כשהזנתי את הערכים של הקומבו ישירות בזאמל... או שדווקא אז זה עבד כי כתבתי את הselected לכל item בנפרד?!?..)

        פורסם במקור בפורום CODE613 ב09/09/2015 20:45 (+03:00)

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

          @avr416

          בהשלמה האוט' הוא נותן לי אירוע בשם selectet

          אני בהלם. גם אצלי. באג לא ברור לי...
          אני מחר אחרוש את העניין.

          @avr416

          כשהזנתי את הערכים של הקומבו ישירות בזאמל... או שדווקא אז זה עבד כי כתבתי את הselected לכל item בנפרד?!?..)

          אכן. למחלקה ComboBoxItem אכן יש אירוע כזה.... אבל בשביל ללכוד את האירוע הזה בלי לכתוב את הערכים מפורש בXAML אתה חייב להשתמש בסטייל (לסוג ComboBoxItem) ושם להגדיר EventSetter.

          פורסם במקור בפורום CODE613 ב09/09/2015 21:04 (+03:00)

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

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

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

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

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

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