איך להגדיר את ה-owner של חלון wpf בתוסף וורד
-
הקוד הבא מיועד לתוספים ב-Word המבוססים על WPF.
הוא נועד להגדיר את חלון ה-WPF כחלון בן (Owned Window) של Word. חלון בן מתנהג באופן שונה מחלון עצמאי בכך שאינו מקבל פוקוס חוץ מחלון האב, והוא ממוזער יחד איתו. התנהגות שמצוייה בחלון דיאולוג שמקושר לחלון הפתוח. אחרת החלון יתנהל כמו תוכנה נפרדת לחלוטין מצד אופן התצוגה שלו ואף יופיע מעל חלונות של תוכנות אחרות שאינם קשורות אליו כלל.//יש להוסיף שם מחלקה - את שם הפרוייקט של התוסף אחרת globals לא ייקלט using System; using System.Diagnostics; using System.Windows; using System.Windows.Interop; public static class WordWindowOwner { public static void SetOwner(Window window) { try { var content = window.Content; //if (content != null) { window.Content = null; } // optional remove window content if nessecary for perfomance isssues IntPtr wordWindowHandle = IntPtr.Zero; var activeWindow = Globals.ThisAddIn.Application.ActiveWindow; wordWindowHandle = new IntPtr(activeWindow.Hwnd); WindowInteropHelper helper = new WindowInteropHelper(window); helper.Owner = wordWindowHandle; //if (content != null) { window.Content = content; } } catch (Exception ex) { Debug.WriteLine($"Error in SetOwner: {ex.Message}"); } } }
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות