Binding Explicit WPF

26 בNovember 2013

Part of the WPF Binding is UpdateSourceTrigger, Meaning , when we are calling to the Set Element of the bounded Property :The options are UpdateSourceTrigger=Default UpdateSourceTrigger=LostFocus UpdateSourceTrigger=PropertyChanged UpdateSourceTrigger=Explicit yet, the most rare option is to use UpdateSourceTrigger=Explicit Well , that because we need to implement a specific Trigger when to Launch the UpdateSourceTrigger Event. So, how can we do it ? what is the implementation? As a Demo lets follow this code, it is very simple View <TextBox Name="UserInputArea" Text="{Binding UserInputValue,Mode=TwoWay,UpdateSourceTrigger=Explicit}" KeyUp="UserInputArea_KeyUp" /> View Model private string m_userInputValue; public string UserInputValue { ...
תגיות: , ,
אין תגובות

WPF ViewBox

פיצ'ר ששווה להכיר , וכן הוא בהחלט שווה פוסט גם אם קצרצר... נניח שיש לנו קונטרול מצד ג' (WPF ToolKit, Telerik) או אזה CustomControl ואנו מגלים שיכולת מסוימת (אבל קריטית) לא נתמכת.. דוגמא קלאסית זה IsEnabled או Visibilty. זה אומר שהמימוש הפנימי לקוי.. ובכן במקום להתלונן,  WPF מספק פקד שנקרא ViewBox, שלא דורש מיקום גודל וכו' מטרתו פשוט לעטוף את מי שחסר לו פרופרטי כזה או אחר (IsEnabled או Visibilty) ואת הBinding נחבר אליו. כמה פשוט כך זה יעיל. דוגמא: <Viewbox IsEnabled="{Binding IsCustomButtonEnabled}"> <controls: CustomButton Width="130" Height="40"> ...
תגיות: ,
אין תגובות

קבלת הIP של כתובות אינטרנט

24 בNovember 2013

כידוע לכל מחשב, או אתר (שזה בעצם מחשב שמחזיק דפים..) יש כתובת IP משלו. וכשאנו גולשים לWWW.Google.Com אנחנו בעצם גולשים לאיזשהו מספר שמורכב מארבעה מספרים שבין 0-255 , ואנחנו מקבלים את התוצאה דרך הDNS שמקשר כתובת אתר ל IP. אם נרצה לברר מה הכתובת IP שמאחורי הכתובת ה"מילולית" נצטרך להתאמץ קצת. נראה כמה שיטות פופולריות למיטב זכרוני: א. הרצת CommandLine עם "CMD" ואז לכתוב Ping בתוספת כתובת האתר המלאה: במקרה שלי הלכתי לwww.google.co.il וחזר אלי IP שכתובתו 173.194.112.63 כאן לא מסתיים הניסוי כדי להיות בטוח נכניס את התוצאה ל פדפן ונראה שהגענו למקום הנכון. ב. להשתמש באחד מעשרות שירותי אונליין לדוגמא: http://www.whatismyip.com / יותר קל...
תגיות: , ,
אין תגובות

החלפת קונטקס של כפתור בזמן ריצה דרך MVVM

הדוגמא שאציג עכשיו היא בסיסית ונכתבה לבקשת סטודנט.. מה הרעיון: ניקח נגן מוזיקה מולטימדיה סטנדרטי (ברכב או בבית )יש לי כפתור הדלקה של מוזיקה, ויש לי כפתור כיבוי של מוזיקה. טוב , לא מדוייק לפעמים יש לי כפתור הדלקה ואותו כפתור גם מכבה בלחיצה הבאה, ז"א הכפתור משנה את הContext שלו בהתאם למצב. מכונת מצבים כזאת יכולה כמובן לתמוך ביותר משני מצבים אבל אז המשתמש לא יבין מה קורה אז זה טוב לוגית ולא ויזואלית. (ממליץ לקרוא על State) אז לכאורה בצד הUI שלנו הכי קל זה בכל לחיצה להרים דגל בוליאני ולשנות את הכפתור בהתאם. בMVVM בסך הכל נבקש מהCommand שינהל את הלוגיקה הזאת. private...
תגיות: , ,
אין תגובות

המדריך לטרמפיסט בגלקסיה של הגיקים חלק ד’

23 בNovember 2013

או מבוא ל-איך כותבים קוד נכון ?? אז הנה ממשיכים במדריך לטרמפיסט.. כטרמיפיסטים עקשניים הגיוני שהתקבלתם למקום עבודה כלשהו הדבר הראשון שתקבלו עליו בראש מ"הגיקים" (מפתחים מנוסים יותר, ובעיקר מראשי צוותים ומנהלים) תהיה על איכות הקוד, שימו לב אני לא מדבר על יעילות אלא על איכות. שזה אומר תיעוד, פיסוק, שמות משתנים, וכו' זאת אומרת ניתן להתווכח הרבה איך לכתוב קוד , להשתמש בForEach או בLinq , איך לנהל Try Catch, איך מתכננים Flow של פונקציה, אני אבל מדבר על שלב מוקדם הרבה יותר. על קריאות של הקוד ושמירה על סטנדרטים. אז כדי להקטין את החיכוך שלנו בני האדם, בשעת מגע ראשוני עם ה"גיקים" אני...

WPF ToolTip Service

12 בNovember 2013

  WPF provides simple extended way to control in your App ToolTips from Xaml instead of C# hardCoded.. For example in your App , one of the Control is in Disable Mode, this effects on the Controls ToolTip Property to be Disable either, well, yet from any reason you need to show the Tool-Tip itself. In Code: <Button Content="click" ToolTip="Click On The Button" IsEnabled="False"/> Now as default the ToolTip is Missing in case of Hoover , but to Show the...
תגיות: , ,
אין תגובות

העתקת תמונה ממקום למקום לדיסק דרך קוד

טכניקה בסיסית להעתקת קבצים באמצעות C# , ז"א ישנם כמה דרכים (לפחות שלש שאני זוכר כרגע ,  שתי דרכים נראה תיכף בדוגמא).   בהנחה שיש לי קובץ (תמונה במקרה שלי) במיקום ידוע מראש מן הסתם יש לי משתנה מחרוזת שמצביע למיקום הקובץ.   אנו נתחיל עם קוד בסגנון הזה (לפתיחת דיאלוג): Static Int Counter = 0; try ...
אין תגובות

Customize INotifyPropertyChanged

WPF מסתמך על INotifyPropertyChanged כבסיס לכל MVVM בכלל, וDataBinding בפרט.   מה מסתתר מאחורה? איך נגדיר את זה לבד? ומתי זה רלוונטי בכלל??   ובכן זה פשוט מאוד. כדוגמא נציג את הבעיה הבאה:   מימוש קלאסי של INotifyPropertyChanged על אובייקט Model עם Binding מתאים. נניח שנראה כך:   public partial class MainWindow : Window , INotifyPropertyChanged { ...
תגיות:
אין תגובות