WPF ViewModel First, set Binding from code after loading

Tuesday, May 20, 2014

,This is probably not a rare situation :The Scenario is as following .1 ,we have a View which contain a CollectionView of any type .2 .the collection's SelectedItem is bound to some ViewModel Property lets call it MySelectedItem .3 :the View DataContext get initialized during ViewLoading like 1: public MyView(MyViewModel viewModel) 2: { 3: InitializeComponent(); 4: this.Loaded += (s, e) => 5: ...
2 תגובות

WPF Custom Controls Part 11 scrollable TabControl B

Wednesday, May 14, 2014

ננסה לבנות פקד שמכיל את הלוגיקה שעוטפת את הטאבים ויודע לגלול ביניהם. יכולות להיות לנו שלש לוגיקות בסיסיות: 1.לחשוף Dependency Property שאיתו נוכל לאפיין מה רוחב כל טאב, ועפ"י זה לגלול. זה אמור להיות הפתרון הקל ביותר, 2. לקבל מתוך העץ הויזואלי את הרוחב הנדרש, נניח של כל טאב כאן הזהירות היא חובה , כי נצטרך להניח שאכן יש לנו טאבים והמבנה הויזואלי הוא נורמלי, 3. לקבל מתוך העץ הויזואלי את הרוחב של טאב כלשהו בהנחה שכל הטאבים זהים ברוחב ה Tab Header שלהם ואז לגלול בהתאם. בכל מקרה אחת הבעיות המרכזיות שנצטרך לתמוך בה (או להתעלם) היא בשינוי...
אין תגובות

WPF Custom Controls Part 10 scrollable TabControl A

את הרעיון שאציג בפוסט זה כל מי שעסק בעיצוב אפליקציות מכיר, יש לי איזור מסויים שמציג סדרת פקדים שכל אחד מפנה לאיזור אחר (כדוגמא קלאסית נדבר על Tab-control), ואין די מקום להציג את כל הטאבים, אז אפשר לערום את הטאבים לשורה כפולה שזה עיצוב מיושן ואפשר גם לנסות את העיצוב שנציג כאן עם שני לחצני פעולה לשני צידי הטאבים שנותנים לנו לגלגל תוכן נעלם של טאבים חסרים שאין לנו די מקום בתצוגה להכיל אותם. אז הפתרון הפשוט נובע מהרעיון הפשוט שבWPF כל דבר יכול להכיל כל דבר לכן אם פשוט נעטוף Tab-Control באיזשהו ListBox הוריזונטלי הכל יעבוד. קוד רלוונטי ייראה כך: <Window.Resources> ...
תגובה אחת

WPF ICommand DependencyProperty in User Control

Friday, December 20, 2013

בהמשך לכמה פוסטים שהעליתי בעבר ועסקו בהבדל שבין UserControl ו CustomControl לפחות לגבי מי שמשתמש בUSerControl בתור CustomControl חשוב לשים לב להבדל הבא: כידוע אחד הדברים שנרצה לשתול בקונטרול שלו זה אירועים ו Commands שניתן יהיה להפעיל מבחוץ ז"א רק הגדרה של Dependency Property מסוג ICommand או RoutedEvent. בפוסט הזה לדוגמא: http://blogs.microsoft.co.il/uriel99/2013/10/15/wpf-custom-controls-part-8-command-in-control/הדגמתי איך נעשה את זה לגבי commands (ולא יהיה הבדל בין זה לבין סתם פרופרטיז או Events) אבל הערה חשובה שהביאה אותי לפוסט קצר זה: הסינטקס שבו אני משתמש בXaml לא יעבוד למי שיממש את הקונטרול שלו דרך UserControl. ואני מתכוון לחלק הזה שמציג את הUI של הקונטרול שזה הTamplate ומרים את הcommand. הדגמתי...
תגיות: , , ,
אין תגובות

רישום לEvents ברמת אפליקציה.

Friday, December 6, 2013

שימוש באפליקציות מבוזרות עם ריבוי חלונות לעיתים מסבך אותנו בטיפול באירועים שהם מבחינתנו גלובליים. ז"א אני רוצה בכל מקום באפליקציה להיות מסוגל להתמודד עם לחיצה על מקש Enter אזברמה הבסיסית אני יכול להוסיף קוד כזה: public partial class App : Application { protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); EventManager.RegisterClassHandler(typeof(Window), Window.KeyDownEvent, new RoutedEventHandler(on_KeyDown)); ...
תגיות: , ,
אין תגובות

T for DelegateCommand is not an object nor Nullable Exception

Tuesday, November 12, 2013

Prism Provide ICommand implementation called DelegateCommand, As the other Markets Commands one version is the DelageteCommand<T> Supporting Target function with Parameters, The problem is when doing something like this: DelegateCommand<int> test;   //ctor public Object { ...
תגיות: , , ,
תגובה אחת

Binding in DataTemplate using Tuple

Tuesday, October 15, 2013

  הטריק הבא יכול להיות מאוד שימושי. נניח שאני מחזיק אובייקט שחלק ממנו זה Command פנימי ועוד ערכים. האובייקט נראה בערך כך: public class MyCommandWrapper { public string Description; public ICommand Action; public object Data; }   ונניח שישי...
אין תגובות

WPF custom Controls Part 8 – Command in Control

נניח שיש לנו custom Control חדש משלנו. דבר ראשון תתחדשו..כמו שהגיוני יש לפקד פרופרטיז ופונקציות פנימיות משלו. נניח שהפקד כולל לחצן כזה או אחר שלחיצה עליו מרימה MessageBox . אוקיי נפלא, יש כפתור וזו פעולה ידועה ומוגדרת היטב מראש ולאחר קומפילציה הפעולה לא משתנה יותר..   אבל נחשוב רגע על Button של WPF , מי שבנה אותו (וזה מתכנת כלשהו..) לא ידע איזה Action נרצה לארח בו (בדיוק כמו שאובייקט יכול להחזיק משתנה מסוג דלגייט שיכול להיות הצבעה לכל פונקציה בעולם) ומן הסתם עקב תמיכה בCommands ,כפתור של WPF מחזיק איזשהו משתנה...
תגיות: , , ,
אין תגובות

MVVM Part 4 – MVVM-Light

Wednesday, December 19, 2012

MVVM part 4 – MVVM Light דיברנו על MVVM  והזכרתי בפוסט הראשון (מבוא לMVVM),  שארחיב על הספריות הקיימות שמספקות לנו תשתית נוחה לעבודה עם MVVM , אז אם בא לכם להיכנס לעולם הMVVM , מומלץ בחום להתחיל עם MVVM Light, הוא פשוט, קליל, נוח לעבודה וחוסך זמן פיתוח. לMVVM Light ישנו toolkit חמוד שיתלבש לכם על הVisual Studio , ממש לא חייבים להתקין אותו ממי שפוחד מתוספות , אלא פשוט לקחת את הDLL  שלהם ולעשות לו Reference לפרויקט, אם תרצו  להתקין את הtoolkit כנסו לפה  ותזרמו עם המדריך. בVS 2010 זה מתלבש יפה על התוכנה , ב 2012 VS זה נראה לי קצת יותר מורכב, בכל מקרה אני...
3 תגובות