AvalonDock WPF איך מוסיפים באופן תקין LayoutDocument
-
אני מנסה להשתמש בAvalonDock (פלטפורמה המדמה את הפלטפרומה של Visualstudio) עם טאבים נסגרים וחלונות נגררים ועוד ועוד מצו"ב תמונה.
נתקלתי בבאג שאם אני מצמיד אפילו אחד המסמכים למטה ואז סוגר את המסמכים למעלה שוב כל טעינה של מסמך חדש אינו מוצג כלל. אשמח לפיתרון
הנה הקוד שלי. (את הפלטפורמה אני יוצר בwpf) ואת המסמכים אני מוסיף דינאמית בC#.WPF
<DockingManager x:Name="dockManager"> <!--Define your layout here--> <LayoutRoot> <LayoutPanel Orientation="Horizontal"> <!--Main Content Area--> <LayoutDocumentPane x:Name="documentPane"> <!--Add more documents as needed--> </LayoutDocumentPane> </LayoutPanel> </LayoutRoot> </DockingManager>
והקוד בc# להוספה דינאמית של מסמכים
private void AddNewTab(string title) { \\לא יודע למה צריך להוסיף grid אבל בלי זה הוא נותן לי שגיאות מוזרות. Grid newGrid = new Grid(); newGrid.Children.Add(cntrlBookView); LayoutDocument newLayoutDocument = new LayoutDocument { Title = title, Content = newGrid }; cntrlBookView.layoutDocument = newLayoutDocument; newLayoutDocument.IsActive = true; documentPane.Children.Add(newLayoutDocument); newLayoutDocument.IsActive = false; }
-
@dovid כתב בבאג בAvalonDock WPF:
תציין אם איזה חבילה אתה משתמש, כי יש כמה וכמה AvalonDock.
-
@dovid כתב בבאג בAvalonDock WPF:
אז לדעתי כל הבעיות זה בגלל שלא יצרת מופע בכל פעם של הcntrlBookView.
כלומר זה אמור לחסוך גם את הגריד.יצרתי ולא עזר
-
@dovid כתב בבאג בAvalonDock WPF:
var pane = dockManager.Layout.Descendents().OfType<LayoutDocumentPane>().First();
pane.Children.Add(newLayoutDocument);נפלא! אכן פתר את הבעיה.
אם אפשר לשאל על עוד בעיה?
כאשר התצוגה מצומצמצת המסמכים מתקרבים מדאי וחופפים אחד על השני
-
א. הכותרת של השאלה הזו הייתה גרועה.
החלטת שיש פה באג, ובעצם הייתה פה שאלה איך מוסיפים באופן תקין LayoutDocument.
אם הכותרת תהיה ככה, זה יעזור לאחרים (אם נשארו כאלו ביקום שמשתמשים בWPF ).
ב. השאלה האחרונה צריכה להיות ג"כ בנושא חדש, שכותרתו AvalonDock בחלון קטן XYZ
בXYZ יש לכתוב מילת מפתח על הבעיה, שלא הצלחתי להבין למרות קריאה + צפיה בתמונות...
מקוה שלא תתייאש מלהשתפר בביטוי, חזק ואמץ.