WPF – refresh SelectedItem in itemscontrol using MVVM

29 בMay 2013

the objective - you got items control - more specific you have got comboBox, and for each item in the collection the meaning is to Invoke some Command Action , now where is the problem ? when you select any item from the source , and at runtime like to invoke the same specific function e.g. the same selected item, the Control by default, doesnt refresh the and raise the selection change Event and when you depend on this change , your action just not showing up, and it is very simple why.. because the SelectedItem State just stay...
תגובה אחת

WPF-Custom Controls – Numeric Up Down (spinner)

26 בMay 2013

מתכנתי WinForms זוכרים שהיה פקד כזה, מסיבות נסתרות החליטו בMicrosoft שלא לכלול אחד בספריה של WPF. ישנם ברשת כמה גרסאות בתשלום או בחינם, אבל כיון שלא מדובר בסיפור גדול לבנות אחד לבד הנה המדריך. למעשה מדובר על פקד בסיסי שכולל טקסט שמציג ערך אחד מתוך אוסף, ושני כפתורי גלגול מטה ומעלה. ניתן כמובן ל"שחק" עם הלוגיקה אבל אני אציג רעיון בסיסי של אינפוט אחד נניח מערך דצימלי.   הControl template של פקד כזה יכלול שני Repeat Buttons ו textBlock אחד, אני לא השקעתי הרבה בעיצוב..   הקוד הבא כולל סטייל נפרד עבור כל לחצן,...
תגיות: , ,
2 תגובות

WPF Loading Style at runtime from Code

25 בMay 2013

in many cases we need the next ability, load any style from external resource dictionary, it could be even in MVVM application because we definitely don’t breaking here any rules just looking for style at run time. of course the style file itself could be sets from other txt configuration or some user parsing process, the way I will use here is much more simplest than other ways I have tried. first you have some application with some Xaml code. than you create some resourceDictionary file, with key for specific style: ...
תגיות: ,
אין תגובות

Scheduler Design Pattern

17 בMay 2013

האם ניתן לתזמן פעילויות? לנהל תור במצבי מחסור משאבים? קדימויות ? לרשום משימות ל"מרכזייה" ומתישהו לשחרר את כולם? Scheduler הוא מנגנון שקיים במגוון תחומים. ניתן לתזמן פעילות של אפליקציות או משימות (זה השימוש הנפוץ,) ניתן גם לקחת את הרעיון לתזמון אסינכרוני של פעולות וזה כבר נכנס לעולם של ריבוי תהליכים – multi threaded application.   אבל אני רוצה להציג את המימד הקטן יותר של תזמון. לדוגמא: אם יש לי מערכת שמריצה פקודות, פקודה 1 מעלה את הנתונים מהשרת, ופקודה 2 מחפשת הזמנות של לקוחות, לא נרצה שפקודה 2 תתחיל לרוץ לפני שמתאים לנו שהוא תרוץ....
אין תגובות

WPF Custom Controls Part 5 – custom Scroll Bar

14 בMay 2013

נתחיל בקריאה של הפוסט הקודם שלי כאן. לא כי אני מפרסם את עצמי.. אני מתבסס על ידע שמוצג שם. מה שנרצה לעשות הפעם זה "ללכת עם אבל להרגיש בלי" ננסה להגדיר ScrollBar משלנו ונגדיר קודם מה המטרה שלי. אני רוצה LineScrollBar שזה אומר , שיגלול תוכן אבל יידע להתיישר לתחילת שורה.כדי להבין נבדוק את הפוסט הקודם ונראה איך מתנהג ScrollViewer עם הפרופרטי CanContentScroll = true , ונראה גם את תחושת הגלילה החלקה כאילו CanContentScroll = false נסביר מה הכוונה,  רוב הscrollbars מתנהגים באופן חפשי אני גולל והקונטנט זז למעלה ולמטה, גם במחיר שחצי מהשורה הראשונה(לדוגמא) נסתר מעין הקורא. (לדוגמא...
תגיות: , ,
אין תגובות

WPF Custom Controls – ScrollViewer & ScrollBar

7 בMay 2013

  אני ממשיך במדריך זה ונכנס  לחלקים נוספים בעולם ה,custom Controls בפוסט הבא נראה איך בונים Scroll Bar עם תוספת לוגיקה/התנהגות משלנו.אבל  כדי להבין מיהם השחקנים במגרש נצטרך (לצערי) לבצע סקירה על שני הפקדים והצורה הבסיסית שבה הם פועלים ועל זההפוסט הנוכחי. את Scroll Bar כולנו מכירים, סביר כמובן שיותר מכירים את Scroll Viewer  שמאוד דומה לו ולמעשה מחזיק במימוש הפנימי ScrollBar. ScrollViewer עוטף בצורה אוטומטית תוכן כזה או אחר ויודע (שוב,בצורה אוטומטית) לגלול בהתאם לגודל את התוכן הנסתר מעין המשתמש   Scroll Barלעומתו הוא פקד עצמאי, ז"א אינו קשור למידע כלשהו לפחות בהגדרתו הבסיסית. הוא מורכב מפקד נגרר (Thumb)  במסלול קבוע שגם הוא בעל יכולת "תגובה" ושני...
תגיות: ,
תגובה אחת

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

2 בMay 2013

הנה אנחנו חוזרים למדריך בגלקסיה של הגיקים, סדרת הפוסטים המפורסמת ביותר שלי.. הפעם נראה כמה דברים בסיסיים וחשובים בעבודה מול Visual Studio, קצת על איך לקנפג אותו ולהשתמש בו בצורה חכמה יותר. שום דבר פה לא יהיה חריג או טריקי, אבל יהיה בהחלט יעיל לעבודה שלנו. אפשר לכתוב ספר של 1000 עמודים על הפעלת VS, ואת זה נשאיר לאנשים שמקבלים תשלום מ Microsoft. אני רק אציע כמה של טיפים ואולי תקבלו תאבון להמשיך לחפור לבד. אני בחרתי חמישה נושאים לדוגמא. כמו שאר החלקים בסדרה זו פוסט זה מתאים למתחילים\סטודנטים שעשוים צעדים ראשונים בסביבת פיתוח תכנה,  ובסביבת VS בפרט. · הערה חשובה. סביבת העבודה עליה אני מתבסס היא VS11 ומעלה. נתחיל עם ענייני build, בילד זאת...

Iterator design Pattern

1 בMay 2013

  ה"איטרטור" נשמע לנו קצת כמו "איטרציות" וזה מזכיר לנו סיבובים בלולאה.. עפ"י המילון העברי איטרציה בשפה תקינה ניתן לומר "חזרור".. וואלה !! בכל מקרה מטרת התבנית כפי שהוצגה בתקופה הפרהיסטורית, היא לאפשר גישה לאוספים (רשימות, מערכים, עצים)  של אובייקטים מבלי לחשוף את המבנה הפנימי או את כל מה שהאובייקט מכיל, למעשה שימוש ב"איטרטור" הוא חלק מתהליך האינקפסולציה. ממשק איטרציות אינו תלוי במימוש כזה או אחר, אלא מהווה דרך משותפת למעבר על רשימות בצורה "מוגנת"בדוט נט לרוב ניתן  לומר שIteraror Pattern == IEnumerable  וזה קיים גם בסביבות פיתוח מקבילות בJava, C++. כשאני מגדיר על אובייקט מסויים שהוא מימוש של IEnumerable זה נותן לי את היכולת לעבור עליו באיטרציות של ForEach. היחודיות של ForEach...