locked
WPF - חולונות מרובים RRS feed

  • שאלה

  • אני מפתח תוכנה חלונאית ב-WPF עם MVVM, הייתי רוצה לקבל המלצות עבור עבודה עם חלונות מרובים

    תודה מראש

    יום ראשון 04 מרץ 2012 08:16

תשובות

  • שלום איציק,

    MDI הוא סגנון מקובל מאוד בעולם ה- WinForm, או לפחות היה מקובל בעבר.

    לא הייתי ממליץ ברוב המקרים ללכת לכיוון הזה כיום.

    לפי מה שאתה מתאר,

    נשמע לי שיש כמה אפשרויות, ותוכל להחליט בהתאם לדרישות הלקוח:

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

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

    בין 2 האפשרויות האלו יש עוד הרבה מאוד, ואלו רק דוגמא.

    ההחלטה צריכה להלקח בהתאם למה חשוב למשתמש, מה חשוב לך וכו וכו.


    My Blog:

    • הוצע כתשובה על-ידי Elad R Katz יום ראשון 11 מרץ 2012 09:32
    • סומן כתשובה על-ידי Eran Sharvit יום ראשון 11 מרץ 2012 14:18
    יום ראשון 04 מרץ 2012 09:45

כל התגובות

  • שלום,

    קצת קשה להבין מהשאלה מה בעצם אתה מחפש,

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

    באופן כללי,

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

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

    על מנת לקבל גמישות מקסימאלית באפליקציה.

    אם תרצה לתת מידע נוסף נוכל לכוון יותר לתשובה מתאימה.

    בהצלחה,

    אסף.


    My Blog:

    יום ראשון 04 מרץ 2012 09:01
  • אסף שלום

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

    1) חיפוש דירות
    2) הוספה / עדכון דירה
    3) ניהול הרשאות
    4) וכו'

    אז ב-Winform הייתי יוצר חלון MdiParent ומוסיף לו את התפריט לניווט בין החלונות ובלחיצה הוא פתח לי חלון חדש בתוכו

    תודה מראש
    איציק

    יום ראשון 04 מרץ 2012 09:16
  • שלום איציק,

    MDI הוא סגנון מקובל מאוד בעולם ה- WinForm, או לפחות היה מקובל בעבר.

    לא הייתי ממליץ ברוב המקרים ללכת לכיוון הזה כיום.

    לפי מה שאתה מתאר,

    נשמע לי שיש כמה אפשרויות, ותוכל להחליט בהתאם לדרישות הלקוח:

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

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

    בין 2 האפשרויות האלו יש עוד הרבה מאוד, ואלו רק דוגמא.

    ההחלטה צריכה להלקח בהתאם למה חשוב למשתמש, מה חשוב לך וכו וכו.


    My Blog:

    • הוצע כתשובה על-ידי Elad R Katz יום ראשון 11 מרץ 2012 09:32
    • סומן כתשובה על-ידי Eran Sharvit יום ראשון 11 מרץ 2012 14:18
    יום ראשון 04 מרץ 2012 09:45
  • אסף שלום

    סליחה על התגובה המאוחרת, ותודה מראש

    אין לי בעייה ביצירת תפריטים (אני הולך לכיוון של האופצייה הראשונה שלך) אלא תהליך העבודה

    1) האם ליצור את המסך כ-UserControl וא"כ איך כל פעם אני טוען אחד אחר
    2) האם ליצור את המסך כ-Window ואז איך לשמור על התפריט

    תודה מראש

    יום שני 12 מרץ 2012 09:51
  • שלום,

    ממליץ לך לקרוא יותר על Prism ועל עבודה על אפליקציות מסוג זה, זה יתן לך כיוון יותר מדוייק.

    המסך הראשי (העוטף) חייב להיות Window, מאחר וכל UserControl חייב להיות hosted באיזה window בסיסי.

    מעבר לזה - הכל צריך להיות UserControl, כולל המסכים שממלאים את החלל העיקרי. החלפה ביניהם (באפליקציות מבוססות Prism) נעשית ע"י שימוש ב- RegionManager, מציע לקרוא טוב גם על זה.

    כחלק מהחבילה של Prism יש כמה דוגמאות טובות מאוד, ממליץ להעיף מבט.

    אסף.


    MCPD MCTS - TFS 2010 My Blog: http://benjaminet.wordpress.com

    יום שני 12 מרץ 2012 10:22
  • תודה
    יום חמישי 15 מרץ 2012 09:53