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

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

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

WPF למה מאפיין לא יכול לקבל פקד קיים ?

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

    ב WIN FORMS יכולתי להעביר פקד קיים למאפיין של פקד אחר, למשל:
    אם יש לי כמה imageList אני יכול לבחור אחד מהן שאותו אשים במאפיין imageList של טאב-קונטרול.
    בWPF כאשר אני מנסה לעשות דבר כזה הוא יוצר לי פקד חדש ולא מציג ברשימה בכלל את הפקדים הקיימים המתאימים למאפיין.

    מדוע?

    תודה לכולם.

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

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

      ImageList זה לא פקד. זה כמו Timer, זה קומפוננטה (=רכיב), מין קלאס שיכול להיות גם בזמן עיצוב.
      לא זוכר מה הImageList עושה וממילא לא יודע להגיד לך איך עושים בWPF.
      אם תגיד בדיוק מה אתה רוצה לעשות בWPF, אולי אדע איך לעשות.

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

      פורסם במקור בפורום CODE613 ב29/01/2014 18:20 (+02:00)

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

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

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

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

        פורסם במקור בפורום CODE613 ב29/01/2014 18:30 (+02:00)

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

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

          ובכן לאיזה שאלה הכי חשוב לך שאתייחס כעת?
          בשביל שאלה א' אני צריך הרחבה של מה את רוצה שיהיה ובשביל שתי השאלות האחרות אני צריך קוד WPF, בשביל השלישית אני צריך קוד WinForms.
          ואנא בחר שאלה אחת בלבד, אחרי שנגמור איתה נעבור לאחרת.

          פורסם במקור בפורום CODE613 ב29/01/2014 19:00 (+02:00)

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

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

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

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

            כדי הסרגל ידע באיזה דטה גריד מדובר יש את המאפיין הבא:

            Private _TargetDataGrid As DataGrid
                Public Property TargetDataGrid As DataGrid
                    Get
                        Return _TargetDataGrid
                    End Get
                    Set(value As DataGrid)
                        _TargetDataGrid = value
            '.....
                   End Set
                End Property
            

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

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

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

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

              @רחמים

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

              איפה אתה "בא להגדיר" ומה הכוונה "לא אפשרי" המסך מתפוצץ?

              פורסם במקור בפורום CODE613 ב29/01/2014 19:34 (+02:00)

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

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

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

                נראה לי שאם הוא עושה.

                Wpf.TargetDataGrid = MyDataGrid;
                

                והVS אומר לו שזה תחביר שגוי.

                ואם הוא עושה.

                Wpf.TargetDataGrid = New DataGrid(...);
                

                אז זה עובד.

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

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

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

                  פורסם במקור בפורום CODE613 ב29/01/2014 20:15 (+02:00)

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

                    @magicode

                    נראה לי שאם הוא עושה.

                    Wpf.TargetDataGrid = MyDataGrid;
                    

                    והVS אומר לו שזה תחביר שגוי.

                    אז זהו שלא...

                    @רחמים

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

                    "לא בקוד, אלא בחלון המאפיינים" = לא בקוד אלא בXAML.
                    אם תחשוב תבין למה אי אפשר. XAML הוא לא קוד רקע, אלא צורה הצהרתית ליצירת אובייקטים בלבד!
                    בXAML אפשר להעביר מידע או בצורת סטרינג, או בצורת Markup Extension שזה הסוגריים המסולסלות, בהם יש כמה דרכים נוספים לתת מידע (אפשר ליצור כאלה נוספים).
                    אז איך אתה רוצה לתת את הגריד הפציפי בתור מאפיין? אם כסטרינג של שמו, בשמחה, אבל אתה חייב לטפל במחלקה שלך בתרחיש של בנאי סטרינג ולא פקד גריד.
                    ואם כבינדינג לאלמנט אתה אכן יכול רק שמאפיין רגיל לא תומך בבינדינג כך שתצטרך לכתוב Dependency Property.

                    פורסם במקור בפורום CODE613 ב30/01/2014 12:21 (+02:00)

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

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

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

                      אכן WPF יש בו נוחות אבל גם נכות.
                      אצטרף להמיר את המאפיין למאפיין תלות.

                      תודה רבה על ההסבר.

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

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

                        @רחמים

                        אצטרף להמיר את המאפיין למאפיין תלות.

                        כדאי לך לחשוב שוב לפני שאתה עושה זאת.
                        אתה רוצה קישור בזמן עיצוב בין קומבובוקס לרשימת עמודות.
                        אפשרות ראשונה: רשימת העמודות הרי לא נוצרה מאיליהם, יש להם מקור, אולי תוכל לחלוק את אותו המקור עם שניהם?
                        אפשרות שניה: אם זה דפוס פעולה אוטומטי, שהיוזר קונטרול מתממשק לכל רשימת הטבלאות והעמודות, תוכל לעשות מאפיין בודד של רשימת טבלאות במערך, והקומבו הראשון יפנה למיקום וממנו הID השני ייקח. את רשימת הטבלאות תוכל לקחת בקוד ע"י חיפוש בParent בו הוא נמצא אחרי כל הDataGrid (אפשרות גרועה מבחינתי), או שוב ישירות למקור המידע של הדטה גרידים.

                        הצלחה.

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

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

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

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

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

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

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

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

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

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