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

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

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

WPF מושגים

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

    יש כמה מושגים שלא הבנתי בWPF אם מישהו יכול לעזור לי
    , NotifyOnValidationError, ValidatesOnDataErrors=ValidatesOnExceptions,SelectionChanged ,SelectedValuePath,ItemsSourceDisplayMemberPath

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

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

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

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

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

        אני בונה תוכנית בסיסית בWPF שנה שנייה בלימודים ויש לי ידע בסיסי בפקדים ובתכנות בC# , אני צריכה לעשות בחלון שעד שאני לא בוחרת מהקומבו בוקס איזה משהו אני לא יכולה לגשת לשום פקד אחר ואני צריכה להשתמש במושגים האלה ולא כל כך הבנתי עד הסוף את המשמעות שלהם
        <ComboBox x:Name="UpdateMotherID" HorizontalAlignment="Left" Height="23" Margin="0,4.167,0,6.833"
        SelectedValue="{Binding ID_Mother, Mode=TwoWay, NotifyOnValidationError=True, ValidatesOnDataErrors=True, ValidatesOnExceptions=true}"
        SelectionChanged="UpdateMotherID_SelectionChanged"
        VerticalAlignment="Center" Width="120"/>

        this.UpdateMotherID.ItemsSource = bl.GetAllMothers();
        this.UpdateMotherID.DisplayMemberPath = "ID_Mother";
        this.UpdateMotherID.SelectedValuePath = "ID_Mother";

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

          הבנתי, את יותר מונחית מטרה מאשר מונחית הבנה, אבל זו גם דרך לפעמים.
          בא נדבר על הקומבובוקס. זה פקד שיש בו א. רשימת פריטים, ב. אפשרות לבחור פריט
          האיגוד (Binding) שלו מסובך יותר:
          נניח ישנה רשימת פריטים מסוג Person שזה class עם המון מאפיינים.
          וישנו מאפיין במקום כל שהוא, נקרא לו לשם הדוגמא TheMasterPersonId, שמקבל את התעודת זהות של Person נבחר יחיד.
          בUI יש לנו כמה משימות של Binding:
          א. איגוד פקד הרשימה לרשימת הPerson (בינדינג לItemsSource).
          ב. קביעה איזה מאפיין מתוך המחלקה Person ייבחר כדי להציג את המחלקה (בד"כ נבחר למשל שם משפחה למשל, זה נעשה השמת שם המאפיין לDisplayMemberPath, ללא בינדינג).
          ג. איגוד בין הTheMasterPersonId לבין הפריט הנבחר ברשימה (בינדינג בין הSelectedValue לבין TheMasterPersonId).
          ד. בשביל האיגוד האחרון, צריך לקבוע גם איזה מאפיין מתוך הפריט הנבחר, יש להציב בTheMasterPersonId שהרי אי אפשר להציב בו Person שזו כל המחלקה אלא רק Int שזה מאפיין מתוך המחלקה (זה נעשה ע"י הצבת שם המאפיין הרצוי כסטרינג לתוך SelectedValuePath, ללא בינדינג).

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

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

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

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

            בקשר לולידציה:
            המאפיינים ValidateXX וגם NotifyXX מיועדים לקבוע האם ומתי יבוצע בדיקת תקיפות לנתונים שהוזנו ע"י המשתמש, ואיזה חיווי הוא יקבל על כך.
            אם את חייבת להשתמש בדרך זו, אז תחפשי באינטרנט WPF Validation אבל אם כל מטרתך זה מניעת לחיצת אישור טכנית ללא בחירת איבר מהרשימה, זה ניתן להיעשות באופן גס ע"י סטייל עם טריגר על ריקנותו של המאפיין שאסור שיהיה ריק, והסגנון שמוחל הוא IsEnable=False. ככה אני אישית תמיד עושה, ולכן אני לא מכיר טוב איך עושים לפי הספר...

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

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

            E תגובה 1 תגובה אחרונה
            1
            • E מנותק
              E מנותק
              edenbelosh
              השיב לdovid ב נערך לאחרונה על ידי
              #6

              @dovid
              תודה רבה!!!!!!

              תגובה 1 תגובה אחרונה
              1
              • dovidD dovid העביר נושא זה מ-תכנות ב-

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

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

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