window template WPF
-
והתוצאה בזמן ריצה ... חלון שחור !
יאהווו!! ולכן עבדת כ"כ קשה! אז קבל שתי אפשרויות: או קבע צבע רקע לאלמנט הראשי בטמפלט (בורדר או גריד), או אפשרות מרתקת יותר קבע את שני הערכים האלו: WindowStyle="None" AllowsTransparency="True" בסטייל או בחלון.
פורסם במקור בפורום CODE613 ב18/03/2014 20:24 (+02:00)
-
טוב אז פתרנו את הבעיה של הצבע.
אבל בכל מקרה לדעתי יש עדיפות לפקד מאשר לטמפלט במקרה שתרצה שלכל החלונות יהיה עיצוב שווה אבל מצד שני תוכל להוסיף לכל חלון אייקון משלו בכותרת העליונה למשל, וכן תוכל להוסיף איזה סרגל כלים לכותרת התחתונה לפי האופי של החלון הספציפי. וכן תוכל להגדיר כיתוב בכותרת העליונה/התחתונה בלא להיות תלוי בכותרת החלון עצמו.פורסם במקור בפורום CODE613 ב18/03/2014 21:22 (+02:00)
-
טוב אז פתרנו את הבעיה של הצבע.
אבל בכל מקרה לדעתי יש עדיפות לפקד מאשר לטמפלט במקרה שתרצה שלכל החלונות יהיה עיצוב שווה אבל מצד שני תוכל להוסיף לכל חלון אייקון משלו בכותרת העליונה למשל, וכן תוכל להוסיף איזה סרגל כלים לכותרת התחתונה לפי האופי של החלון הספציפי. וכן תוכל להגדיר כיתוב בכותרת העליונה/התחתונה בלא להיות תלוי בכותרת החלון עצמו.ייתכן.
אבל שים לב שבשביל זה לא צריך UserControl שמכיל את תוכן החלון, די בUserControl שנמצא בראש החלון.
בכל מקרה, לעולם לא צריך שילוב של שתי UserControls.פורסם במקור בפורום CODE613 ב18/03/2014 22:14 (+02:00)
-
אלו לא באמת 2 UserControl אלא רק 1 רק בהצהרה הם שניים כדי שאחד יכיל את הXAML והשני את הקוד וכך יהיה אפשר מצד אחד לעצב את ה UserControl ב XAML ומצד שני להוסיף פקדים לתוך ה UserControl ולתת להם שם בלא לקבל שגיאה.
פורסם במקור בפורום CODE613 ב18/03/2014 22:27 (+02:00)
-
@דוד ל.ט.
אני לא יודע באמת למה במן ריצה זה לא עובד ככה, בכל אופן אם מפרשים לסטייל KEY ונותנים לו התייחסות של סטטיק ריסורס בכל חלון (במאפיין סטייל) אז זה עובד.
תכל'ס אצלי עובד רק בזמן עיצוב ולא בזמן ריצה
@דוד ל.ט.
שמואל, אם אתה רוצה לשנות בכל חלון את הפקדים שבכותרת עליונה ותחתונה, אז למה טמפלט? תעתיק ותדביק מפעם אחת ממנה אתה מרוצה.
אם אתה רוצה שרק הטקסט וכדו' ישתנה אז תוכל לעשות בטמפלט בינדינג לאלמנטים אחרים של החלון כמו לטייטל ועוד.בלית ברירה אעשה כך אבל זה לא הדרך למסמכי xaml ארוכים ומייגעים
תאר לך גם 10 חלונות ויותר וכל שינוי תרוץ לעדכן בכולםפורסם במקור בפורום CODE613 ב18/03/2014 23:06 (+02:00)
-
@דוד ל.ט.
אני לא יודע באמת למה במן ריצה זה לא עובד ככה, בכל אופן אם מפרשים לסטייל KEY ונותנים לו התייחסות של סטטיק ריסורס בכל חלון (במאפיין סטייל) אז זה עובד.תכל'ס אצלי עובד רק בזמן עיצוב ולא בזמן ריצה
אולי תקנה מחשב חדש
?
בטוח עשית מה שכתבתי? לפרש שם לסטייל, וגם בחלון להציב סטטיק ריסורס.@דוד ל.ט.
שמואל, אם אתה רוצה לשנות בכל חלון את הפקדים שבכותרת עליונה ותחתונה, אז למה טמפלט? תעתיק ותדביק מפעם אחת ממנה אתה מרוצה.אם אתה רוצה שרק הטקסט וכדו' ישתנה אז תוכל לעשות בטמפלט בינדינג לאלמנטים אחרים של החלון כמו לטייטל ועוד.
בלית ברירה אעשה כך אבל זה לא הדרך למסמכי xaml ארוכים ומייגעים
תאר לך גם 10 חלונות ויותר וכל שינוי תרוץ לעדכן בכולםאשמח להבין מה המצב האידאלי אליו אתה שואף.
במסמך וורד לדוגמה, אתה יכול לעשות כותר עוליונה ותחתונה, ושיני שלה משתקף בכל הדפים, וזה בדיוק מה שהטמפלט יעשה.
אם אתה רוצה מראה אינדבדואלי לכל חלון, אך במראה עקבי, העתקה והדבקה של הדרך לא נראית לי בכלל מטריחה.
בכל מקרה אם תראה דוגמה ספציפית אולי יש מה להכליל בסגנון ראשי כדי להפוך את הגדרות המראה לריכוזיים יותר.פורסם במקור בפורום CODE613 ב19/03/2014 11:10 (+02:00)
-
WpfApplication6.rarמצורף קוד בסיסי מישהוא יכול לתת את הדעת למה זה לא עובד לי?
תודה רבהפורסם במקור בפורום CODE613 ב19/03/2014 11:44 (+02:00)
-
קודם כל זה חידוש גדול בשבילי
<AdornerDecorator Grid.Row="1"> <ContentPresenter/> </AdornerDecorator>
דבר שני
@דוד ל.ט.והתוצאה בזמן ריצה ... חלון שחור !
יאהווו!! ולכן עבדת כ"כ קשה! אז קבל שתי אפשרויות: או קבע צבע רקע לאלמנט הראשי בטמפלט (בורדר או גריד), או אפשרות מרתקת יותר קבע את שני הערכים האלו: WindowStyle="None" AllowsTransparency="True" בסטייל או בחלון.
כעת גם לי יוצא שחור מרכז החלון היכן שמיקום העריכה לא הבנתי מה אתה מרוויח במאפיינים אלו שכתבת אמנם הם מורידים את השחור אבל יש להם חסרון (להתחיל לבנות את כל האלמנטים של החלון)
פורסם במקור בפורום CODE613 ב19/03/2014 13:01 (+02:00)
-
לא הבנת כנראה לא כוונתי, התכוונתי לשנות את הטמפלט שהעליתי.
הנה ככה למשל:<Style x:Key="WinStyle" TargetType="{x:Type Window}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Window}"> <Grid Background="White"> <Grid.RowDefinitions> <RowDefinition Height="50"/> <RowDefinition Height="*"/> <RowDefinition Height="50"/> </Grid.RowDefinitions> <Border > <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="{TemplateBinding Title}" /> </Border> <AdornerDecorator Grid.Row="1"> <ContentPresenter/> </AdornerDecorator> <Border Grid.Row="2" > <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" >כותרת תחתונה</TextBlock> </Border> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style>
אגב הAdornerDecorator אני גם לא כ"כ מכיר, אני סה"כ העתקתי מהטמפלט שהVS יוצר.
פורסם במקור בפורום CODE613 ב19/03/2014 13:32 (+02:00)