סליחה, תיקנתי את הקוד.
פורסם במקור בפורום CODE613 ב05/12/2013 10:31 (+02:00)
הפורום כעת לקריאה בלבד, לקריאה נוספת.
סליחה, תיקנתי את הקוד.
פורסם במקור בפורום CODE613 ב05/12/2013 10:31 (+02:00)
ככה:
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<GridSplitter Grid.Row="1" Height="3" Background="Gray" HorizontalAlignment="Stretch" />
</Grid>
פורסם במקור בפורום CODE613 ב02/12/2013 10:59 (+02:00)
גם אם כעת היית ניגש באמת ליצור כזה דבר, אז הירושה לא צריכה להיות מGrid, כי במקרה כזה אתה מסתבך לא רק עם הגנריות של תוכן הפקדים, אלא גם עם מס' העמודות והשורות.
ובכלל, למה גריד אם הפקד בעצם מייצג שתי פאנלים ימיני ושמאלי (או עליון ותחתון).
רק שאני אכן לא יודע איך ליצור פאנלים שיאפשרו להוסיף לכל אחד בנפרד פקדים בזמן ציור.
פורסם במקור בפורום CODE613 ב01/12/2013 12:43 (+02:00)
תסלח לי שאני נמנע מלהוריד בינתיים את הפרוייקט,
בשביל מה שאתה רוצה, תשתמש עם GridSplitter.
ככה:
<GridSplitter Grid.Row="1" Background="Gray" HorizontalAlignment="Stretch"/>
פורסם במקור בפורום CODE613 ב01/12/2013 12:01 (+02:00)
השאלה הראשונה כללית מידי, ויש לה הרבה תשובות לפי הצורך.
השאלה הספציפית עם הGRID, ובכן א"א ל"טמפלט" גריד.
אבל השאלה מה אתה רוצה, נניח אתה רוצה שבגריד יהיה למטה שורה נוספת עם כפתור,
אז אתה אמור לעטוף את הגריד עם גריד אחר או פקד מותאם אישית שמכיל את הכפתור הזה.
פורסם במקור בפורום CODE613 ב28/11/2013 10:40 (+02:00)
הדרך המוכרת לי זה פשוט לוותר על הסטייל של הWindows המובנה ע"י הגדרת המאפיין WindowStyle לNone.
אח"כ אתה בעל הבית על כל ההתנהגות מה שמביא קצת תופעות לוואי של עבודה מדוקדקת לכל מה שרצוי לחלון רגיל.
תוכל להשתמש עם דברים שאחרים עשו:
הנה צורה בסיסית: http://stackoverflow.com/questions/6792275/how-to-create-custom-window-chrome-in-wpf
עוד:
http://www.codeproject.com/Articles/71485/Reusing-Control-Templates-in-Resource-Dictionaries
יש כמובן הרבה מאוד אחרים.
פורסם במקור בפורום CODE613 ב19/11/2013 12:29 (+02:00)
לקבצים מרובים יש פונקציה אחרת.
שמה SHMultiFileProperties, ואני לא מצאתי מימוש מוצלח שלה באינטרנט.
כעת ניסיתי אצלי, וגם לא הצלחתי להפיק ממנה משהו.
בהצלחה.
פורסם במקור בפורום CODE613 ב18/11/2013 15:04 (+02:00)
טוב שציינת את המטרה, כי בשביל זה נראה לי לא צריך לשנות טמפלטים.
הכי פשוט זה טאב קונטרול ללא כותרת,
שיש בינדינג בין הSelectedIndex שלו לבין של הקומבו בוקס. (אגב שניהם יורשים מItemsControl).
אבל כל זה בלי להתחמק מהשאלה איך משנים טמפלט לגריד וע"ז בע"ה אענה מאוחר יותר.
פורסם במקור בפורום CODE613 ב17/11/2013 11:58 (+02:00)
הסיבה שהפרום דועך זה בגלל שלאף אחד אין שאלה בתיכנות. כי הוא מוצא תשובה מהירה שכבר קיימת באינטרנט .
תיאוריה. ואני לא חושב ככה.
פורסם במקור בפורום CODE613 ב12/03/2015 12:06 (+02:00)
אצלי. "פורום תכנות חרדי" תוצאה מספר 1.
גוגל ישראל, מול google.com...
פורסם במקור בפורום CODE613 ב11/03/2015 14:56 (+02:00)
אמנם זה הקפצה. אך אולי יועיל משהו ....
רציתי להעיר שלדעתי הסיבה העקרית שהאתר לא כל כך פורץ מעלה מעלה. היא פשוט שאי אפשר למצוא אותו בגוגל. אפילו שמחפשים!
נראה שהשם שלו פשוט לא מזוהה בתוצאות חיפוש ברגע שלא כותבים ממש מדויק.
אי אפשר לכתוב פשוט code 613 ולמצוא.
ובטח שלא עולה כלום שכותבים פורום תכנות חרדי או משהו כזה. חיפוש כזה פשוט נחסם באתרוג משום מה.
אני עצמי שמכיר את האתר. לא מצליח להכנס אליו עד שאני מזין url מדויק אחרי חיפוש בסמניות שלי....
אולי כדאי לשנות את השם. או לעשות איזה פעולות קידום אחרות.
בהצלחה רבה
דבר ראשון, תודה שאכפת לך.
דבר שני, המילים "code 613" הם אבודות מראש לגבי קידום. צריך לחפש code 613m. האות m מייצגת "מצוות".
דבר שלישי, מה לעשות, אתרוג זה לא משהו שלומדים לקדם...
רק קבל נתוני אמת מגוגל האמיתי:
"code 613m" - תוצאה מס' 1.
"פורום תכנות חרדי" תוצאה 3
פורסם במקור בפורום CODE613 ב11/03/2015 13:43 (+02:00)
אני משוכנע שהמערפלים המסחריים עושים את העבודה מצויין,
והבעיה זה רק לדעת להגדיר ולהשתמש איתם.
תראה מה שהם עושים:
http://www.gapotchenko.com/eazfuscator.net/features/xaml-renaming
פורסם במקור בפורום CODE613 ב12/11/2013 13:06 (+02:00)
http://xamlgenerator.codeplex.com
פורסם במקור בפורום CODE613 ב12/11/2013 13:01 (+02:00)
מה הקשר השאלה שם להמרה בין XAML לקוד?
פורסם במקור בפורום CODE613 ב11/11/2013 17:25 (+02:00)
א. עד כמה שזכור לי, בכל מקרה בקומפילציה כל הזאמל (XAML) הופך לקוד בדיוק כאילו כך כתבת אותו במקור. לא כך? בדוק ברפלקטור.
ב. אני לא הבנתי כלל מה אכפת שידעו את כל שמות המאפיינים.
ג. אני יכול להראות לך איך לעשות כל קוד זאמל בC# או VB.NET, אך זה יוציא לך מהר את החשק מWPF.
פורסם במקור בפורום CODE613 ב11/11/2013 15:14 (+02:00)
מה אכפת לך ששמות המאפיינים גלויים?
מה זה נותן לפורץ?
פורסם במקור בפורום CODE613 ב10/11/2013 14:04 (+02:00)
עדיין בלחיצה על הכפתור בורר התאריכים לא נסגר.
אתה נורא מרגיז!
בשאלתך היו שאלות בצורה לא מסודרת.
עד שאני מבין ועונה לך על שאלה אחת, אתה "פורך" את התשובה בזה ששאלה אחרת שנרמזה קלות (הערה בקוד!) בשאלתך לא נענתה.
מה הכוונה "עדיין"? חשבת שתוך שעתיים בשמש זה יסתדר?!
סליחה על החריפות.
הנה קוד מלא לסגירת הבורר:
Dim Calendar As Calendar = CType(sender, Button).TemplatedParent
Dim today = DateTime.Today
Calendar.SelectedDate = today
Calendar.DisplayDate = today
Dim popup = TryCast(Calendar.Parent, Primitives.Popup)
If Not IsNothing(popup) Then popup.IsOpen = False
דבר נוסף אני בעצם רוצה שאני אשתמש בסטול הזה של בורר תאריכים בדטה-גריד שיש בו עמודה של תאריך וכמו באקסס שכאשר שדה של תאריך בפוקוס יש למשתמש אפשרות ללחוץ על סמל של לוח שנה ואז הלוח שנה נפתח הוא לוחץ על 'היום' ולוח השנה נסגר, דבר כל כך פשוט לכאורא וכל כך קשה לעשות אותו בדוט-נט....
למה זה דבר נוסף?
פורסם במקור בפורום CODE613 ב12/11/2013 18:51 (+02:00)
לא, אתמול לא הבנתי לגמרי מה שרצית לעשות.
כעת שהבנתי, אז המילים "מה להוסיף כאן כדי שבורר התאריכים יסגר" שכתבת שייכים לDataPicker ולא לCalendar.
אפשר לעשות סתם אירוע לכל אלמנט בטמפלט ממש כמו כל אירוע של כפתור:
קוד VB
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
Dim Calendar As Calendar = CType(sender, Button).TemplatedParent
Dim today = DateTime.Today
Calendar.SelectedDate = today
Calendar.DisplayDate = today
End Sub
קוד XAML הכל כמו שהראית רק תחליף את הכפתור:
<Button Content="Today" Click="Button_Click" />
פורסם במקור בפורום CODE613 ב12/11/2013 15:01 (+02:00)
כעת קלטתי מה רצית לעשות.
בל"נ מחר אראה לך איך אפשר בקלות רבה.
פורסם במקור בפורום CODE613 ב11/11/2013 17:24 (+02:00)
בגלל הבעיות באתר קשה לי לקרוא את הקוד.
טמפלט זה "הוראות יצירה" לתוכן כל שהוא, וכל פעם בו צריכים אותו יוצרים לפיו את מכלול "ההוראות".
אפשר להצמיד אירוע פשוט לטמפלט. ממש כמו לכל אלמנט רגיל.
ICommand שימושי רק:
א. הפעלת פונקציות שמגיעות עם האובייקט אותו מטמפלטים. לדוגמא פקד שקורא מסמכי PDF, אז כשעושים לו טמפלט מחדש ורוצים שכפתור יפתח PDF ולא אנו כתבנו את השגרה לזה, אז אנו בודקים בהוראות היצרן של הפקד איזה קומנד זה ופשוט מחברים אותו לכפתור ע"י קומנד ביינדינג.
ב. מתי שאנו עצמנו רוצים לכתוב "ברמה", מה שנקרא MVVM, שאין ללוגיקה (הקוד המעשי) שום תלות בתצוגה (האובייקטים והקוד החזותיים). אז נניח כתבנו לוגיקה לפתיחת קובץ, ואנחנו רוצים לפנות אליה מהתצוגה, אז מתאים להשתמש בקומנד (אני לא חתום על הנוחות הזאת).
פורסם במקור בפורום CODE613 ב11/11/2013 17:20 (+02:00)