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

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

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

איך לתקשר בין חלקים שונים של תוכנה ב-C# wpf?

מתוזמן נעוץ נעול הועבר תכנות
7 פוסטים 3 כותבים 474 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • pcinfogmachP מנותק
    pcinfogmachP מנותק
    pcinfogmach
    כתב ב נערך לאחרונה על ידי pcinfogmach
    #1

    יש לי שני חלקים בתוכנה

    1. פקד שאחראי להציג מידע מתוך db
    2. פקד שאחראי להציג מידע שקשור למידע בפקד א' אבל רק בצורה עקיפה

    מה בעצם הצורה הכי טובה לעשות את הקוד שמגשר ביניהם

    מה שעולה לי בראש לבינתיים הם כמה אפשרויות

    1. ליצור ViewModel שיקושר לשני הפקדים.
    2. שימוש ב-delgates ו-events
    3. שימוש באירועים ולהעביר instance של פקד א' לפקד ב' או הפוך
    4. ראיתי מישהו שכתב להשתמש ב-Dependency Properties (אין לי מושג מה זה).

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

    גמ"ח מידע מחשבים ואופיס

    קומפיונטק תגובה 1 תגובה אחרונה
    0
    • קומפיונטק מנותק
      קומפיונטק מנותק
      קומפיונט
      השיב לpcinfogmach ב נערך לאחרונה על ידי
      #2

      @pcinfogmach כתב באיך לתקשר בין שלוש חלקים של תוכנה ב-C# wpf?:

      אשמח לשמוע מהמומחים

      אני לא מומחה גדול, אבל אם אתה הולך על MVVM אז לכאורה לא צריך להיות קשר בין פקדים/תצוגות, כל פקד/תצוגה הוא עצמאי, והוא מקבל את הנתונים שהוא אמור להציג דרך ה - ViewModel (כנראה מה שהתכוונת באפשרות 1)

      אגב, אם אתה כבר מפתח ב - WPF ולא יודע מה זה DependencyProperty אז אתה ממש מפסיד...

      pcinfogmachP תגובה 1 תגובה אחרונה
      2
      • pcinfogmachP מנותק
        pcinfogmachP מנותק
        pcinfogmach
        השיב לקומפיונט ב נערך לאחרונה על ידי pcinfogmach
        #3

        @קומפיונט
        לא כל כך הבנתי את הפתרון שלך אסביר:
        נגיד יש לי viewmodel א' שבו יש נתונים מה-db ויש לי את ה-viewmodel ב' שהוא אחראי על נתונים אחרים אבל שקשורים בעקיפין ל-נתונים ב-viewmodel א'
        אני רוצה ליידע את viewmodel ב' כאשר הנתונים ב-viewmodel א' משתנים. איך אני עושה זאת?

        אגב תודה על ההערה החשובה עם ה-dependencyproperties עשית לי מוטיבציה ללמוד על הנושא.

        גמ"ח מידע מחשבים ואופיס

        קומפיונטק תגובה 1 תגובה אחרונה
        0
        • קומפיונטק מנותק
          קומפיונטק מנותק
          קומפיונט
          השיב לpcinfogmach ב נערך לאחרונה על ידי קומפיונט
          #4

          @pcinfogmach כתב באיך לתקשר בין שלוש חלקים של תוכנה ב-C# wpf?:

          אני רוצה ליידע את viewmodel ב' כאשר הנתונים ב-viewmodel א' משתנים. איך אני עושה זאת?

          ה - ViewModel לא מאחסן את הנתונים, אלא רק מתווך אותם ממקור אחר (Service לדוגמא), אז הרעיון שברגע שהנתונים משתנים זה משתנה ביחד בשני ה - ViewModels. במצב תקין ViewModel צריך לדעת כמה שפחות על קיומם של ViewModels אחרים.

          אם אתה מסתבך עם זה, אז תזרום עם מה שנוח לך, @dovid פעם טען שלא חייב לעשות הכל "לפי הספר" (ובפרט אם אתה מפתח יחיד שיודע להתמודד עם נקודות החולשה שלך)

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

            מצאתי כתבה שבעצם מתארת את הבעיה בצורה יפה ומציעה פתרון שלכאורה אפשר ליישם ב-c#
            הייתי שמח לשמוע אם זה הכוון הנכון

            https://betulnecanli.medium.com/how-to-pass-data-between-viewmodels-f8be320de7ab

            גמ"ח מידע מחשבים ואופיס

            קומפיונטק תגובה 1 תגובה אחרונה
            0
            • קומפיונטק מנותק
              קומפיונטק מנותק
              קומפיונט
              השיב לpcinfogmach ב נערך לאחרונה על ידי
              #6

              @pcinfogmach כתב באיך לתקשר בין חלקים שונים של תוכנה ב-C# wpf?:

              הייתי שמח לשמוע אם זה הכוון הנכון

              כן. אבל מי אני שאני יאשר...

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

                תלוי באיזה סדר גודל של viewModels מדובר
                וגם בכמה סוגי עדכונים

                לא יודע מה הדרך הנכונה אני רק יודע לומר מה אני הייתי עושה

                אם זה עדכון אחד או שתים...
                הייתי עושה event
                אבל אם זה יותר מזה (אז זה אומר ששני הviews הם בעצם שייכים לאותם נתונים פחות או יותר)
                הייתי עושה viewModel יחידי לשניהם

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

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

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

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