פתיחת אפליקציה נוספת(תהליך) מתוך אפליקציה רצה .

25 בOctober 2013

יש לנו Process רגיל שרץ, (כל פרויקט של Visual studio). מתחת לפני השטח נוצר תהליך של המעבד שנקרא Process, להבדיל מתהליך של Thread, (התרגום מאנגלית קצת מבלבל)   בכל מקרה תהליך כללי שנקרא Process יכול להחזיק בתוכו הרבה Threads ולפחות אחד..   בכל מקרה מה אם מתוך אפליקציה רצה אני רוצה להרים Process נוסף ? ז"א ממש תכנית נוספת? ובכן זה פשוט מאוד. בשביל הדוגמא נניח שיש לי ConsoleApplication ואני מתוכו רוצה לפתוח דפדפן. אני כותב את הקוד הבא: ...
תגיות: ,
אין תגובות

Data Binding Default Notification and Direction

23 בOctober 2013

When we using dependency properties of any WPF Control we use to know the default Binding direction is two way: Mode="TwoWay" And the Notification Event is on any Change: UpdateSourceTrigger="PropertyChanged" Well, that could bring us to a wrong conclusion about our own Dependency Properties. I am not getting into the question when to use or not with those Properties , but since we use WPF Controls Properties as TwoWay and the notification on any change as they are by default we may loosing time in our new Dependency Properties because it not the...
אין תגובות

WPF Converter in Resource Dictionary

15 בOctober 2013

Using converter is daily, in as general we doing that like this A. Define a c# ValueConverter B. Set Xaml namespace like this xmlns:converters="clr-namespace:X.Y.Converters;assembly=X.Y" C. set local resources with key like this <UserControl.Resources> <converters:BoolToVisibilityConverter x:Key="boolToVisibilityConverter" /> /UserControl.Resources> D.  just using the key inside your document where is needed: < MediaElement Visibility="{Binding Path=X.Visibility, Converter={StaticResource boolToVisibilityCollapsedConverter}}" /> But, inside Resource dictionary file when you need some Converter you cannot use local resource as Static Resources, so what you need is either Global static Converters allocate in your App.Xaml , or simply using the next xaml syntax A. add Xaml namespace like this xmlns:localConverters="clr-namespace:X.Resources" B. and use Binding Converter syntax ...
תגיות: , , ,
תגובה אחת

Binding in DataTemplate using Tuple

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

WPF custom Controls Part 9 – Event in Control

  יש לנו custom control ואנו רוציםרשם שבוא יחשוף החוצה Event שיהיה ניתן להירשם אליו כמו שנרשמים ל SelectionChanged של ItemsControl.   לדוגמא זה הקוד התשתיתי שיהיה בצד הלוגי של הקונטרול: public static readonly RoutedEvent MyEvent = EventManager.RegisterRoutedEvent( "Event", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(MyCustomControl));   public...
תגיות: , , , ,
2 תגובות

WPF custom Controls Part 8 – Command in Control

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

MVVM Pattern – Suffix

5 בOctober 2013

את הבלוג שלי הקדשתי בפתיחתו לDesign Patterns, ועם הזמן הדרדרתי להמון נושאים אחרים.   MVVM כתבנית הוא קרוב אלי מטבע הדברים כי אני עוסק בתחום ביום יום וע"כ נתתי לעצמי לכתוב סדרת פוסטים של 10 חלקים המתארים לדעתי את הנושא על כל צדדיו.   לתועלת העניין הנה האינדקס של ה"מדריך לMVVM בעשרה חלקים" :   חלק ראשון מבוא. חלק שני Command. חלק שלישי דוגמת תכנית קצרה. חלק רביעי סקירה על MVVM-Light. חלק חמישי סקירה על Caliburn Micro. חלק...
תגיות: ,
4 תגובות

MVVM – Part 10 PRISM real world Starter

הגענו לפרק העשירי והאחרון במדריך שלי לMVVM. הפעם נדגים כיצד בונים תכנית מבוססת על ארכיטקטורת MVVM מורכבת, (מה שנקרא composite application) באמצעות Prism library.   נתחיל מזה שנוריד את הגרסה האחרונה של הספרייה מאתר הבית שלהם,(אני בוחר בגרסה המתאימה ל.NET 4.5) כי אני עובד עם VS2012 כדי להוריד קבצים מקודפלקס יכול להיות שתצטרכו חשבון וזה סתם מומלץ.   בכל מקרה כנסו לפה תורידו גרסה ונמשיך.   מה שצריך בנוסף זה dll של Unity כי כאמור באפליקציה מודולרית צריך IOC קונטיינר והתשתית של פריזם מגיעה עם תמיכה מובנית בMEF או UNITY...
אין תגובות