WPF-Custom Controls Part 3 – Custom Graph

24 בApril 2013

נתקדם קדימה לקונטרולים יותר מורכבים, העולם האמיתי של  כתיבת פקדים מתחיל במקום שנדרש פקד שלא קיים, לדוגמא גרף ליניארי כלשהוא שמציג תוצאות חישוב,  בשלב ראשון ניצור בר בדיד שמתעדכן  בהתאם לערך מהמודל, משהוא שמזכיר מדד עוצמה במערכות הגברה.  נראה איך קושרים ערך  באמצעות  binding אלמנטים ויזואליים מתוך הקונטרול לערכים שהוא קיבל בקונסטרקטור\ משתנים בזמן ריצה. ואיך בונים style קצת יותר מורכב, שיתאים לפקד החדש. נגדיר מה אני צריך: פקד עם שלשה ערכים מתקבלים, הרעיון פה הוא גרף קטן מימדים עם שני פרמטרים לציון ערכים כדוגמא. באותה מידה ניתן למתוח אותו לעשרים ערכים. אבל שלשה ערכים יהיו: גובה של Value A,  גובה של Value B וגובה של "רף הסכנה"...
תגיות:
אין תגובות

Animated GIF image in WPF

19 בApril 2013

  GIF image is a special format (Graphics Interchange Format) of image, it is actually a series of photos, that repeat in circle over and over what make them into animation, until here its great, the challenge  is implement gif image as resource in your app. You can download a GIF file and attach it to the solution, but only the default image will show. We just need to wrap it with GifAnimation, as strange as it sounds WPF does support GIF image but not directly as Image, There are several of Versions to do that. The next  is perfect because we can combine it inside a control and switch...
תגיות: ,
תגובה אחת

מבוא לתכנון מונחה עצמים חלק ב

15 בApril 2013

  הפעם נציג את היתרונות של תכנון מונחה עצמים, אשתדל לתמצת ולסקור את הדברים החשובים באמת. כאמור בפוסט הקודם בנושא , הצגתי את הגישה  המרכזית שבה אני מנסה להציג מערכת בדומה לחשיבה האנושית, זה נותן לי את  קלות התכנון וזהו היתרון המרכזי והוא עצמו מתחלק לכמה חלקים: שהם קלות התכנון, קלות ההבנה של קוד זר, וסידור לקטלוגים כמו שאנו אוהבים להחזיק עצמים מסויימים בארון מסויים (חומרי ניקוי, תבלינים) כך התוכנה שלנו תהיה מופרדת לחלקים שכל אחד אחראי על נושא משלו. קריאות . יתרון נוסף (שהוא קשור ולא קשור) זה קוד קריא. והבנת ההקשרים בדומה לשפה המדוברת , למשל אם נראה פרוצדורה(פונקציה, מתודה, סברוטינה, כל אחד בשפתו..) שנקראת Start זה יכול להיות...

WPF Image Source Dynamic Loading by Converter

10 בApril 2013

  You can change your image source for example inside DataGridCell using Simple  Converter The converter getting enum Value as parameter and load Uri from your resources. public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)         {             ModelingEntityStatus type = (ModelingEntityStatus)value;             Uri img;             switch (type)             {                 case ModelingEntityStatus.Runing:                     {                         img = new Uri("/Images/ModelingRuningIcon.png", UriKind.Relative);                         return img;                         break;                     }                 case ModelingEntityStatus.StandBy:                     {                         img= new Uri("/Images/ModelingStbyIcon.png", UriKind.Relative);                         return img;                         break;                     }                 case ModelingEntityStatus.Updated:                     {                         img = new Uri("/Images/ModelingUpdatedIcon.png", UriKind.Relative);                         return img;                         break;                     }             }               return null;         }     And in your xaml code you can use  it like this: <Image Width="30" Height="30" Margin="2" Source="{Binding Path=StatusData,Converter={StaticResource modelingIconconverter}}" />
תגיות:
תגובה אחת

Visual Studio 2012 Freeze in WPF project

It kind of bug and yet, even in update 2 of installation it happening. I am talking about real freezing and not for seconds, but for minutes. The reason for the problem is quite simple , visual studio contains part who called Xaml UI Designer Xaml Ui Designer designed for 32 bit Systems and same version is running on 2012 which is actually strange since most of comps now is 64 bit, well you should do 2 things: the first is to set your UI project build integration to 32 bit at least  in you development time, you can also shut down Xaml Ui Designer form your Task Manager >...
תגיות: ,
תגובה אחת

Object Oriented Architecture מבוא לתכנון מונחה עצמים

5 בApril 2013

  מהו  Object Oriented ? כיצד נתכנן מערכת בחשיבה מונחית עצמים? שאלת השאלות איפה עוצרים כשמחפשים ישויות להגדרה במערכת שלנו? נענה אחת אחת. אבל תחילה מבוא. התבקשתי לאחרונה למסור הרצאה קטנה על מבוא לobject oriented והעליתי לעצמי נקודות בכתב כדי לסדר את המחשבה. הנה התוצאה בקיצור נמרץ. תרחיש א' (דמיוני בהחלט): אתה נכנס למסעדה, ומבקש "תן לי מנה.." איזה? שואל המלצר.. "לא חשוב" אתה עונה.. "העיקר מנה.." המלצר מביא לך מנה צמחונית על בסיס עולש, פטריות יער ונבטים אורגניים.. ואתה התכוונת לסטייק בפיתה..  למה זה קרה? כי במקום להתמש בשיטה הקיימת שמקטלגת מנות לתפריטים בחרת להפר את הסדר העולמי.   תרחיש ב' (דמיוני בהחלט): אתה נכנס למוסך, "יש בעיה" אתה אומר.. "מה הבעיה?" שואל המוסכניק? "תשמע.. נפגשתי אתמול עם ע' ובדרך חזור היו פקקים,...

WPF Enum to Color Converter

4 בApril 2013

You have an Enum who present some value. In case you would like to use it to transfer  it for visual element as Color you just need to use Value Converter like this one: public class SystemOverviewStatusToColorConverter : IValueConverter     {         public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)         {             SolidColorBrush color =new SolidColorBrush(Colors.Transparent);             ColorEnum status = (ColorEnum)value;             switch (status)             {                 case ColorEnum.green:                     {                         color.Color = Colors.Lime;                         break;                     }                 case ColorEnum.orange:                     {                         color.Color = Colors.DarkOrange;                         break;                     }                 case ColorEnum.red:                     {                         color.Color = Colors.Red;                         break;                     }             }             return color;         }           public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)         {            ...
תגיות:
4 תגובות