@softs
זה ENUM בשם DialogResult
שים שם DialogResult.OK
לא. אתה מחליף עם winforms. בwpf זה מאפיין בוליאני (ראה לינק להלן).
@אליעזר
תודה על התגובות עד כה.
לצערי הנסיון להגדיר את החלון עם דיאלוג ריזאלט=טרו.
זורק חריג.
דקדקתי לכתוב:
@דוד ל.ט.
שים לב ש**[u:6ax7yavg]בקוד החלון הנקרא[/u:6ax7yavg]** עליך לתת תשובה: DialogResult = true;
בתוך הקוד של החלון Wellcom אתה צריך להגיב בשלב כל שהוא ולענות לחלון המקור שקרא לחלון הזה (נגיד המשתמש כותב את שמו ולוחץ על הפתור "אישור"). בשלב בו החלון Wellcom "גמר" עם המשתמש וקיבל ממנו תשובה או אי תשובה, הוא מחזיר לחלון המקור במאפיין הזה האם אכן ישנה תשובה רלוונטית.
ברגע שאתה כותב בקוד DialogResult = true; זה סוגר את החלון והקוד הקורא מתעורר מ"קפאונו" וממשיך לרוץ. הוא יכול לבחון את התשובות מהחלון Wellcom ע"י פנייה למאפייניו.
הנה תיעוד של המאפיין עם הסבר אף לשתי מקרי השגיאה האפשריים.
אגב בWPF השגיאה תמיד נמצאת בinner exception, לא משנה מה זה ולמה זה ככה, בכל אופן בגירסת הVisual Studio שברשותך א"א לצפות בשגיאת המקור. ממילא אני מאוד ממליץ לך לעבור לVisual Studio Ultimate שהיא "עקרונית" בתשלום, שמה אתה יכול לראות את לשון השגיאה המקורית שבמקרה זה היא: DialogResult is set before a window is opened by calling ShowDialog.
עריכה:
אני טעיתי. לשון ההודעת שגיאה היא: DialogResult can be set only after Window is created and shown as dialog., וזה כאילו המאפיין הוגדר לפני/ללא קריאת הShowDialog. וזה לא נכון, אלא הבעיה היא שהמאפיין נקרא אחרי הClose של הטופס. לשון הודעת השגיאה בטעות לא מכסה את המקרה הזה.
פורסם במקור בפורום CODE613 ב21/10/2014 14:52 (+03:00)