מדריך WPF – שימוש ב Stylesנכתב ע"י arikp בשביל מה צריך Style? לפני שנדון במה זה Style בדיוק, כדאי להבין את הבעיה שהוא בא לפתור. תארו לכם אפליקציה שיש בה מספר פקדים מאותו סוג, לדוגמא כפתורים. היינו רוצים שהכפתורים באפליקציה שלנו לא יהיו משעממים לכן נרצה לשנות את המראה שלהם ע"י שינוי פונטים, צבעים גודל ועוד. הבעיה היא שצריך לעשות את השינויים הנ"ל על כל אחד מהכפתורים בנפרד! אם יש לנו הרבה כפתורים זה יכול להצטבר לכדי הרבה עבודה. ומה קורה אם נרצה לשנות את צבע הרקע בעתיד? נצטרך שוב לעבור על עשרות כפתורים ולבצע את השינוי בעשרות מקומות. כאן נכנס Style. Style מאפשר לנו להגדיר אוסף של זוגות, כל זוג מכיל שם של תכונה והערך שלה.... מדריך WPF – שימוש ב Transformationsנכתב ע"י arikp מה זה Transformation? Transformation היא שיטה המאפשרת לנו לבצע שינויים גרפיים מסוימים באופן הצגה של פקד. השינויים האפשריים הם: סיבוב פקד, הזזת פקד, הגדלה והקטנה, ועיוות של הפקד. כיצד להשתמש ב Transformation? כדי להשתמש בטרנספורמציה יש ליצור מופע של מחלקת הטרנספורמציה המבוקשת ולהציב אותה בתכונה RenderTransform או בתכונה LayoutTransform של הפקד שנרצה להפעיל עליו את השינוי. את ההבדל בין התכונה RenderTransform ו LayoutTransform נראה בהמשך. סיבוב פקד ע"י שימוש ב RotateTransform כדי לגרום לאפקט סיבוב של פקד ניתן להפעיל עליו את הטרנספורמציה RotateTransform. למחלקה זו יש... מדריך WPF – הצגת תמונה וקטע וידאונכתב ע"י arikp שני מרכיבים חשובים באפליקציה גרפית היא היכולת לשלב תמונות וקטעי וידאו בתוך האפליקציה. בWPF הוספת תמונה או קטע וידאו נעשה בצורה מאוד פשוטה באמצעות הפקדים Image ו MediaElement. הוספת תמונה באמצעות הפקד Image הוספת תמונה לאפליקציית WPF נעשית באמצעות שימוש בפקד Image. פקד זה יודע להציג מגוון רחב של תמונות כולל כל הסטנדרטיים הנפוצים כיום. כדי להציג תמונה כל מה שצריך לעשות הוא להגדיר פקד Image במקום שבו נרצה את התמונה שלנו, ולקבוע לו את תכונת ה Source. להלן דוגמא: <Window x:Class="ImageDemo.MainWindow" ... מדריך WPF – שימוש ב Brushesנכתב ע"י arikp בפרק זה נדבר על מספר סוגים של מברשות (Brush) שקיימות בWPF. מה זה Brush? Brush הוא אובייקט שיודע לצבוע שטחים בכל גודל, בדומה למברשת פיזית שיכולה לצבוע קיר בכל גודל. ישנם תכונות רבות שהטיפוס שלהם הוא Brush וניתן להציב בהם איזשהו אובייקט מברשת שנגדיר. תכונות נפוצות מסוג Brush הן: Background ו Foreground של פקדים, Stroke ו Fill של צורות ועוד. המברשת SolidColorBrush זוהי מברשת בעלת צבע אחיד. למעשה בכל פעם שהגדרנו בקוד XAML צבע מילוי באופן הבא: <Rectangle Width="100" ... מדריך WPF – שימוש ב Shapesנכתב ע"י arikp בפרק זה נחזור לדבר על נושאים קצת יותר גרפיים. אחרי הכול, .XAML היא שפה להגדרת ממשקי משתמש. בפרק זה נדון בציור צורות באמצעות XAML. ישנם מספר מחלקות צורות מסוגים שונים, לדוגמא: Rectangle, Ellipse ועוד. ההבדל בין המחלקות השונות הוא סוג הצורה שהן מציירות. בנוסף, ישנם מספר תכונות שמשותפות כמעט לכל הצורות, כגון Fill, Stroke ו StrokeThickness. הפקד Rectangle הפקד Rectangle משמש לציור מרובע. לשם קביעת האורך והרוחב של המרובע יש להשתמש בתכונות Width ו Height. צבע הפנים של המקובע נעשה ע"י שימוש בתכונה Fill, ואילו צוות המסגרת נעשה ע"י שימוש בתכונה Stroke. בנוסף, ניתן לשלוט... מדריך WPF – שימוש ב Data Templatesנכתב ע"י arikp מה זה Data Templates? Data Template הוא מנגנון המאפשר ליצור בזמן ריצה רכיבי UI מתוך Data. לדוגמא, בפרק הקודם ראינו כיצד ניתן לחבר פקד ListBox ל Collection של איברים מטיפוס MyData. נחזור על הקוד של הדוגמא: המחלקה MyData הוגדרה באופן הבא: namespace CollectionDemo{ public class MyData { public string FirstName { get; set; } public string LastName { get; set; } public bool IsLecturer { get; set; } public override string ToString() ... מדריך WPF – שימוש ב Data Binding: חיבור ל Collectionנכתב ע"י arikp עד כה ראינו כיצד לחבר בין פקד אחד לפריט מידע אחד. בפרק זה נראה כיצד נוכל לחבר בין פקד שיודע להציג רשימות כמו ListBox או ComboBox לבין רשימה של אובייקטים. התכונה ItemsSource התכונה ItemsSource משותפת לכל הפקדים שמסוגלים להתחבר לרשימה של אובייקטים. תכונה זו מקבלת את אובייקט הרשימה, ישירות או ע"י שימוש ב Binding. לאחר מכן, הפקד שבשימוש יוצר אלמנט גרפי עבור כל איבר ברשימה. לדוגמא, להראות חיבור של ListBox לרשימה של אובייקטים. ראשית נוסיף מחלקה חדשה בשם MyData שתייצג ישות מידע בודדת ברשימה: namespace CollectionDemo{ public class MyData { ... מדריך WPF – שימוש ב Data Binding: שימוש ב INotifyPropertyChangeנכתב ע"י arikp בואו ננסה לחשוב לרגע על הסוגיה הבאה: כיצד מנגנון ה Binding יודע על כל שינוי באובייקט המקור? כדי שזה יקרה אנחנו צריכים שיהיה איזשהו מנגנון של הודעות או אירועים כך שבכל פעם שיש שינוי באובייקט המקור, מנגנון ה Binding מקבל את האירוע ובעקבותיו מפעיל את תהליך הסנכרון לתוך היעד (ובאופן דומה לכיוון ההפוך). אז מי מספק את אותם אירועים בכל פעם תכונת מקור משתנה? זה תלוי. אם תכונת המקור היא מסוג Dependency Property אזי דיווח על שינויים הוא אחד הדברים שתכונה שכזו מוסיפה, כלומר מנגנון ה Binding משתמש בעבודה שתכונת המקור היא Dependency Property. אם תכונת המקור היא תכונה רגילה אזי אין דרך למנגנון ה... מדריך WPF – שימוש ב Data Binding: שימוש ב IValueConverterנכתב ע"י arikp ישנם פעמים בהם נרצה לעשות Binding בין תכונת יעד ותכונת מקור מטיפוסים שונים. לדוגמא, נרצה לעשות תוכנית שבה סימון CheckBox מעלימה כפתור ואילו הורדת הסימון מציגה אותו. לשם כך יש לבצע קישור בין התכונות Visibility של הכפתור מטיפוס Visibility לבין תכונת IsChecked של ה CheckBox מטיפוס Boolean. בדוגמא הבאה אנו מנסים לבצע סנכרון שכזה: <Window x:Class="ValueConverterDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" ... מדריך WPF – שימוש ב Data Binding: הגדרת מקורותנכתב ע"י arikp כזכור, בעת יצירת Binding יש להגדיר ארבעה חלקים: אובייקט היעד – זהו האובייקט שנרצה לשנות תכונה שלו תכונת היעד – זוהי התכונה שנרצה לשנות אובייקט המקור – זהו האובייקט שאליו היעד מתחבר תכונת המקור – זוהי התכונה שממנה נרצה לקחת את הערך ולהציבו בתכונת היעד את אובייקט המקור ניתן להגדיר בארבע שיטות שונות, כאשר לכל שיטה יש שימושים משלה. הגדרת אובייקט מקור באמצעות ElementName השימוש בתכונה ElementName הוא הדרך הפשוטה ביותר להגדיר אובייקט מקור, ואכן כל הדוגמאות שראינו עד כה עשו שימוש ב ElementName להגדרת מקור. ElementName מאפשר להגדיר פקד UI בתור המקור של פקד היעד, לפיכך השימוש ב... |
לוח דרושיםמשרה מדריכי /ות מחשבים - חזק /ה במחשבים? רוצה להרוויח הרבה כסף? שרית (סי וי פול), 19/11 משרה תכנת 5 שנות נסיון עם רגע של seo אריק (שירותי קידום אתרים seo-google בע"מ), 13/11 משרה דרוש /ה איש סיסטם . שרית (סי וי פול), 4/9 משרה דרוש/ה מתכנת/ת Full Stack עם ניסיון של 3 שנים ומעלה בפיתוח. שרית (cvpool), 8/5 משרה חברת seo googel בתל אביב, מגייסת מקדמ/ת אתרים ג'וניור לעבודה מהבית! שרית (סי וי פול), 8/5 תגובות למאמריםחברים ברשת |