WPF למתקדמים – PropertyChanged המשך..

31 בJanuary 2014

בפוסט הזה WPF PropertyChangedהדגמנו כמה שיטות למימוש אימפלמנטציה של INotifyPropertyChanged. ישנה דרך נוספת, CallerMemberNameAttribute הוא Attribute שיושב בספריית System.Runtime.CompilerServices ומה שהוא נותן לנו זאת הצצה לשם של מי שמפעיל את הפונקציה, עכשיו זה מאוד פשוט, אם את פונקציית המימוש של PropertyChanged נכתוב בעזרת DefaultParameter נוכל לשלוף את מי שעשה Invoke במינימום טרחה ולהעביר אותו בהתאם כפרמטר לשליחת הEvent שכאמור מצפה ל שם הפרופרטי. קל ופשוט.. אז איך זה נראה? דוגמת קוד: public event PropertyChangedEventHandler PropertyChanged; private void onNotifyPropertyChnaged( string proprtyName = default(string)) { if (PropertyChanged != null) ...
אין תגובות

Introduction to WPF Triggers Part C

27 בJanuary 2014

    .This chapter will dealing with combine Trigger ,After the last Post about Triggers was about Data Trigger I am now on a combination of Data Trigger and other Trigger The most easy sample is with Property Trigger , if we take the previous post Demo-Code http://blogs.microsoft.co.il/uriel99/2014/01/06/introduction-to-wpf-triggers-part-b/ :and keep the Model and the ViewModel as is public class Data : INotifyPropertyChanged { public Data() { } private int Id; ...
תגיות: , , ,
אין תגובות

Focus for WPF UserControl

20 בJanuary 2014

הנושא הבא נשמע פשוט אבל לפעמים מאתגר, במה שנקרא Composite Application לפחות כשמדובר על WPF אנחנו "מזריקים" User-Controls לתוך אזורים שונים בUI הראשי שלנו כתוצאה מזה אנחנו צריכים להתמודד עם טיפול, תחזוקה ותכנון של אותם UserControls כאילו היו חלונות והם לא ! UserCOntrol הוא קונטרול לכל דבר ועניין. זאת אומרת הייתי שמח אם הוא הי נשאר UserControl אבל תומך בפונקציונליות "לפחות בחלק החיובי" של חלון אז לכאורה, MVVM עם ארכיטקטורת PRISM זה דבר נפלא אבל מביא עמו אתגרים רבים למתכנתי הUI. כדוגמא קטנה זה בדיקת פוקוס על הUserControl , שמתברר כאחד הנושאים הלא ברורים בWPF. ונסביר, נניח שיש לי אפליקציה מחולקת...
תגיות: , , ,
אין תגובות

WPF ComboBox Set SelectedItem Form ViewModel

15 בJanuary 2014

It appears that in several cases not so easy to manage SelectedItem or SelectedValue from The model event even after set the BindingMode to TwoWay . :To be more specific <ComboBox ItemsSource="{Binding Path=Data}" IsSynchronizedWithCurrentItem="true" SelectedItem="{Binding Selected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/> Now , the ViewModel try...
תגיות: , ,
אין תגובות

סימנים מיוחדים למחרוזת בקצרה..

10 בJanuary 2014

הוספת סימנים מיוחדים לתוך מחרוזת בתוכנה זה לא תמיד פשוט וזה די משותף לכל שפות התכנה מסיבה ברורה, ישנם סימנים שהם מיוחדים לפיענוח מסמך הטקסט שלנו ע"י הParser , Compiler, Interpreter וכו'. ולכן הם בלתי ניתנים לשימוש. אגב לנושא הזה יש מונח מקצועי שמקובל בכל הפלפורמות והוא Escaping. ניתן בתור התחלה לחלק את הרעיון לשתי חלקים, הראשון זה סימנים שהם חלק מהשפה, לדוגמא משתמשים ב "" כדי להגדיר מחרוזת , אז איך אפשר לשתול בתוך מחרוזת את הסימן "" כדי להדגיש טקסט נניח. החלק השני זה הוספת שימנים מיוחדים כמו סמיילי.. נתחיל עם מה שנקרא Literal String Escaping. שימוש בתו \ Slash Character ייתן לנו את...
תגיות: , ,
אין תגובות

Introduction to WPF Triggers Part B

6 בJanuary 2014

More complex WPF Trigger is the Data Trigger, The idea is , depends on your Object Model , when some property State or Value equal to some condition the UI reacts as your design. For a small demonstration lets look up on this code: public class Data : INotifyPropertyChanged { public Data() { } private int Id; public int PublicID ...
תגיות: , , ,
תגובה אחת

Introduction to WPF Triggers Part A

WPF Triggers provide excellent visual effects, without any codeBehind, and it's not must to be for Xaml Designers only, any wpf developers can do this. WPF Style triggers are came for well defined cases of any WPF Control and reacts for Properties and Events, in case like: CheckBox.IsChecked or Mouse Enter WPF Triggers can be separate into a few Parts. Event Triggers, Data Triggers, Property Triggers , and Multi Triggers, in the most of cases, one demand could be resolved by more than one method, as General Note Place yours triggers in a Style section and not inline style. for a start lets build...
תגיות: , , ,
אין תגובות

Interpreter vs. compiler

מה עושה קומפיילר? בודק שגיאות מתרגם לשפת מכונה ומריץ.. איזה שגיאות? אז יש לנו 3 סוגי שגיאות בקוד(כשמדברים ברמה כללית). 1. שגיאות קומפילציה בשמות משתנים ופקודות. 2. שגיאות RunTime כמו חלוקה באפס 3. שגיאות לוגיות בFlow של האלגוריתם (הכל תקין ואין חריגת רק לא יעבוד בהתאם לנדרש לדוגמא סדר של If Else לא מדוייק) השגיאות תחת קטגוריה שלש הן כמובן הקשות ביותר לגילוי.. אז ברור ששגיאות קומפילציה.. ולא שגיאות runtime שמטופלות ע"י המתכנת. מה עושה אינטרפרטר? מעביר סקריפט שמתאר פעולה או מראה של UI. ובהקשר הזה ניתן לומר ש JavaScript היא שפה שאינה עוברת "קומפילציה" אלא מבצעת את הפעולות לפי הצורך והקריאה לפונקציות , מה הרעיון? זאת...
תגיות: ,
אין תגובות

WPF Converter For Binding Debbuging

Its is well Known (by WPF Developers ) yet, it's Simple and powerful . When you need to check your Binding Syntax . if there is any reason to write it, ect. ect. I Mean its obviously the only way to check your Binding Xaml Syntax, It is very important in case of {Relative Source Bla Bla Bla} If the Convert Function getting Called you know the Binding is Actually works , and the Object Parameter can help you to understand whats arrived into the UI Object and if it is what you were expecting for it. The source code is supposed to be...
תגיות: , , , ,
אין תגובות