HWzoneHWzoneHWzone
  • ראשי
  • כתבות פופולריות
  • הגדרת התראות
  • מחשבים
    מחשבים
    הצג עוד
    כתבות מובילות
    משטח משלוח של כרטיסי מסך יוקרתיים במחסן מטענים בנמל תעופה, עם אריזות חסרות וניילון עטיפה קרוע
    חצי מיליון דולר נעלמו בשדה התעופה: שני משטחים של RTX 5090 אבדו
    20/10/2026
    הדרך להפסיק לשלם ולקחת בעלות: בנינו שרת AI מפלצתי מקומי
    22/08/2026
    המחשה של מעבד נייד חסכוני המבוסס על מבנה שבבים קומפקטי, בהשראת ארכיטקטורת Moon Lake העתידית של אינטל
    אינטל מכינה את Moon Lake: ארבע ליבות ו-6 ואט בלבד
    29/10/2026
    כתבות אחרונות
    עד 33% יותר בגיימינג: ההימור החדש של אינטל עם Nova Lake
    31/10/2026
    סם אלטמן: ה-RAM במחשב שלכם מבזבז זכרון שיכל להיות בחוות שרתים
    31/10/2026
    RTX 5080 נעלם מחנות NVIDIA, והמחיר כבר עבר 2,000 דולר
    31/10/2026
    140 מיליארד דולר נמחקו משווי אינטל, וההשבתה בישראל עולה ביוקר
    31/10/2026
  • גאדגטים
    גאדגטים
    הצג עוד
    כתבות מובילות
    ניסיתי סמארטפון מתקפל בפעם הראשונה – התרשמויות משימוש Galaxy Z Fold8
    27/09/2026
    שחזור דיגיטלי של ה-iPod המקורי משנת 2001 מופיע בתוך דף אינטרנט במחשב נייד
    אפל מחזירה את ה-iPod המקורי לחיים, ומחביאה אותו באתר שלה
    25/10/2026
    הדמיה של מערכת הבית החכם החדשה של אפל עם מסך HomePad, רמקול HomePod mini ומזרים Apple TV 4K
    אפל חוזרת לסלון: שלושה מוצרים חדשים בדרך, כולל מסך חכם שיתחרה באמזון ובגוגל
    10/10/2026
    כתבות אחרונות
    סיכום השבוע: Gemini 4 Carbon, GeForce ועוד
    30/10/2026
    אמזון מציגה את התשובה שלה לגוגל ולאפל עם חמישה מכשירים חדשים
    29/10/2026
    אפל מחזירה את ה-iPod המקורי לחיים, ומחביאה אותו באתר שלה
    25/10/2026
    סיכום השבוע: Claude, GTA 6 ועוד
    23/10/2026
  • גיימינג
    גיימינג
    הצג עוד
    כתבות מובילות
    קונסולת PlayStation 5 לצד מסך המציג משחקי PC בתוך ממשק הקונסולה באמצעות Playden
    בלי מחשב ובלי סטרימינג: משחקי PC רצים ישירות על PlayStation 5
    27/10/2026
    המחשה של לוח אם בקונסולת משחקים עתידית עם שבבי זיכרון ואחסון חשופים
    ה-PlayStation 6 עשויה לעלות יותר מ-1,000 דולר
    20/10/2026
    GIGABYTE GAMING A16 עם RTX 5060 – מה תקבלו בקטגוריה הזולה של מחשבי גיימינג ניידים?
    12/09/2026
    כתבות אחרונות
    נטפליקס הופכת את PUBG לסדרה, ודונלד גלובר מקבל ארבעה תפקידים
    30/10/2026
    סיכום השבוע: Gemini 4 Carbon, GeForce ועוד
    30/10/2026
    הורדתם אמולטור PS5 מ-GitHub? כדאי שתבדקו מה באמת התקנתם
    29/10/2026
    GTA 6 עשוי לדרוש 210GB – כמעט שליש מהאחסון ב-PS5
    28/10/2026
  • טכנולוגיה
    טכנולוגיה
    הצג עוד
    כתבות מובילות
    Google's Gemini 4 Carbon Tops Every Other Model In All But Two Of Google's Benchmarks, Scoring 88.2 Percent On SEC-bench Pro Vulnerability Discovery
    גוגל מציגה את Gemini 4 Carbon: ראשון בדירוג, סגור לציבור
    29/10/2026
    מודל 44 טריליון הדולר של אנתרופיק: כשהמתכנתים יפנו את מקומם לחשמלאים
    14/09/2026
    לווייני תקשורת של Starlink מעל רשת סלולרית עירונית עם אנטנות קרקעיות וסמארטפון המחובר לרשת
    מאסק בונה חברת סלולר עם 15 אלף לוויינים ואנטנות קרקעיות
    11/10/2026
    כתבות אחרונות
    אנת'רופיק חוסמת שכפול משחקים ב-Claude, ומפתחים כבר נפגעים
    01/11/2026
    בתוך 20 דקות: האקרים רוקנו מיליארדי דולרים מארנקי Binance
    30/10/2026
    גוגל איבדה כמעט 500 מיליארד דולר ביום מסחר אחד
    30/10/2026
    סוף לגלישה החופשית? Reddit מתכננת לחייב משתמשים להירשם
    30/10/2026
  • ביקורות
    ביקורות
    הצג עוד
    כתבות מובילות
    הדרך להפסיק לשלם ולקחת בעלות: בנינו שרת AI מפלצתי מקומי
    22/08/2026
    ניסיתי סמארטפון מתקפל בפעם הראשונה – התרשמויות משימוש Galaxy Z Fold8
    27/09/2026
    מחשב ASUS Ascent GX10 מבוסס NVIDIA DGX Spark בסקירה: דמוקרטיזציה של מודלים מקומיים
    04/10/2026
    כתבות אחרונות
    מחשב ASUS Ascent GX10 מבוסס NVIDIA DGX Spark בסקירה: דמוקרטיזציה של מודלים מקומיים
    04/10/2026
    ניסיתי סמארטפון מתקפל בפעם הראשונה – התרשמויות משימוש Galaxy Z Fold8
    27/09/2026
    GIGABYTE GAMING A16 עם RTX 5060 – מה תקבלו בקטגוריה הזולה של מחשבי גיימינג ניידים?
    12/09/2026
    זיכרון Novakey של ADATA XPG – אסתטיקת ה-Cyberpunk של ה-DDR5
    07/09/2026
  • ספיישלים
    • CES
      • CES 2026
      • CES 2025
      • CES 2024
      • CES 2023
      • CES 2022
      • CES 2020
      • CES 2019
      • CES 2018
      • CES 2017
      • CES 2016
      • CES 2015
      • CES 2013
      • CES 2012
      • CES 2011
      • CES 2009
    • Computex
      • Computex 2019
      • Computex 2018
      • Computex 2016
      • Computex 2014
      • Computex 2013
      • Computex 2012
      • Computex 2011
      • Computex 2010
      • Computex 2009
      • Computex 2008
      • Computex 2007
    • E3 2016
    • עשור לאתר המחשבים
    • CeBIT 2008
    • CeBIT 2007
  • פורומים
  • זכרונות
  • הפיד שלי
  • ניהול העדפות
  • ערוצים פרסומיים
עקבו אחרינו ברשתות
  • אודות האתר
  • צרו קשר
  • פרסם אצלנו
  • תנאי שימוש ומדיניות פרטיות
  • הצהרת נגישות
בקריאה עכשיו: היכרות עם טכנולוגית ה-WPF
HWzoneHWzone
  • ראשי
  • כתבות פופולריות
  • הגדרת התראות
  • מחשבים
  • גאדגטים
  • גיימינג
  • טכנולוגיה
  • ביקורות
  • ספיישלים
    • CES
    • Computex
    • E3 2016
    • עשור לאתר המחשבים
    • CeBIT 2008
    • CeBIT 2007
  • פורומים
  • זכרונות
עקבו אחרינו
  • אודות האתר
  • צרו קשר
  • פרסם אצלנו
  • תנאי שימוש ומדיניות פרטיות
  • הצהרת נגישות
טכנולוגיהמדריכים

היכרות עם טכנולוגית ה-WPF

עדכון אחרון: 24/12/2016 בשעה 22:50
צוות האתר
13/12/2010
13 דקות קריאה
שיתוף
רוצים לראות יותר מ-HWzone בתוצאות של Google?הוסיפו אותנו כמקור מועדף ב-Google
היכרות עם טכנולוגית ה-WPF
טכנולוגית ה-WPF (ר"ת עבור Windows Presentation Foundation) קיימת כבר קרוב ל-5 שנים, ולמרות זאת מעטות התוכנות אשר משתמשות בה. בעזרת שימוש בטכנולוגיה זו תוכלו גם אתם לגרום לתוכנה שלכם להראות כחלק ממערכות ההפעלה ווינדוס 7 או ווינדוס וויסטה. מערכות הפעלה אלו הציגו קו עיצובי שונה לחלוטין ממערכת ההפעלה ווינדוס XP, אך מרבית התוכנות עדיין לא השלימו את הפערים ונראות כנטע זר במערכות ההפעלה המודרניות. בעזרת טכנולוגיה ה-WPF תוכלו ליצור ממשקי משתמש מתוחכמים ויפים בקלות רבה. מטרת מדריך זה היא לעודד מתכנתי .NET לעבוד בטכנולוגית ה?WPF, ובכך לשפר את ממשקי המשתמש אשר הם בונים.
תוכנה ללא WPF
תוכנה עם WPF
בסיום המדריך ניצור תוכנה פשוטה זו:

 


הערה
: האנימציה בסרטון מקרטעת בגלל תוכנת ההקלטה, במחשב האנימציה חלקה לחלוטין, כפי שתוכלו לראות בסוף המדריך.
דרישות מקדימות
על מנת לבצע את המדריך שלנו, יש למלא אחר הדרישות הבאות:
  • התקנה של Visual C# 2010 Express – להורדה
  • התקנה של Microsoft Expression Blend – להורדת גרסת נסיון ל-60 יום
  • ידע בסיסי ב-C#
 מה זה WPF
WPF זוהי טכנולוגיה שפותחה על ידי מיקרוסופט ושוחררה כחלק מ?.NET Framework 3.0 ייחודה של WPF לעומת התצוגה הישנה לה היינו רגילים בתקופת XP היא בכך שישנה הפרדה מלאה בין הקוד (C# או Visual Basic) לבין עיצוב התוכנה (נכתב ב-XAML). בעזרת ההפרדה הזאת ניתן ליצור ממשק משתמש מתוחכם, נעים ויפה במעט מאוד שורות קוד. כאמור ממשק המשתמש נכתב בשפת XAML (מבוטא 'זאמל'), שפה המזכירה את שפת ה-XML. ל-XAML ישנן אפשרויות ופקודות רבות, ועל מנת שהמדריך שלנו יהיה קל וברור, בחרתי להשתמש בתוכנת Blend של מיקרוסופט. תוכנת ה-Blend בעצם יוצרת את קוד ה?XAML בהתאם לעיצוב שנבצע בה. ניתן לראות את ההפרדה הברורה שיש בין עיצוב ממשק המשתמש (נעשה ב-Blend ויכול להתבצע גם על ידי אדם שאינו מתכנת), לבין כתיבת הקוד (נעשה ב-Visual Studio).
האנימציה
ראשית נתחיל מעיצוב ממשק המשתמש. נפתח את Blend ונבחר ב?New Project.
במסך הבא נבחר את שם התוכנה (אצלנו היא נקראת simpleWPF), את תיקיית היעד ואת השפה בה נרצה לתכנת (במדריך זה נשתמש בשפת #C).

כעת מוצג בפניכם המסך הראשי של Blend.

הנה הסבר קצר על חלוקת המסך:

כפי שניתן לראות בתמונה, המסך הראשי של Blend מחולק לחמישה חלקים עיקריים:
החלק הראשון – זהו סרגל הכלים, מחלק זה ניתן להוסיף עצמים שונים אל ממשק המשתמש שלנו.
החלק השני – בדרך כלל יהיה פתוח על טאב ה-Project בו תוכלו לראות את הקבצים השונים בפרויקט שלכם. מחלק זה גם משנים את ה-Triggers בהם נשתמש בהמשך.
החלק השלישי – בחלק זה ניתן לראות בתצוגת עץ את היררכיית העצמים בפרויקט שלנו. (לעיתים ב-WPF ישנו עצם בתוך עצם, ובעזרת החלון הזה ניתן להבין מי מכיל את מי). בנוסף בחלון זה ניתן לערוך את האנימציות שניצור בהמשך.
החלק הרביעי – חלק זה בעצם מציג לכם כיצד יראה הפרויקט שלנו. שימו לב לשלושת הכפתורים האנכיים בין חלקים ארבע וחמש, מומלץ ללחוץ על הכפתור השלישי (Split) על מנת לראות בזמן אמת את קוד ה-XAML אשר Blend יוצר עבורנו.
החלק החמישי – כאן ניתן לשנות את המאפיינים השונים של כל עצם (בדומה ל-Visual Studio), ובנוסף גם ניתן לקשר כאן אירועים (Events).
כעת אפשר להתחיל לעצב את ממשק המשתמש. לחצו על התוית Window בתצוגת העץ באזור 3 (מופיע מעל LayoutRoot) ושימו לב שהופיעו מאפיינים שונים של החלון באזור 5. כעת כל אחד יכול לעצב כראות עיניו, אני השתמשתי בהגדרות הבאות:
לפי הגדרות אלה החלון יוצא מעט שקוף והרקע הוא גרדיאנט בין תכלת ללבן. (שימו לב כי השקיפות מסירה את כפתור הסגירה, מזעור ומסך מלא ואנו מקבלים חלון אותו אנחנו יכולים לעצב בכל דרך שנבחר ללא תבנית מסוימת).
כעת נוסיף Label לחלון (נעשה על ידי לחיצה ארוכה על ה-T בסרגל הכלים ובחירה ב-Label). כך זה נראה:
חשוב לתת ל-Label ולכל עצם אחר שנוסיף שם על מנת שנוכל להשתמש בו בקוד ה-C#.
כאמור Blend יוצרת בשבילנו את קוד ה-XAML בהתאם להעדפות שנגדיר, אולם ניתן לשנות את קוד ה-XAML ולראות כיצד התוצאה תושפע ישירות על המסך:
בצורה דומה, נוסיף כעת גם Button וגם TextBox. יש לתת לשניהם שמות. התוצאה תראה כך:
כעת ניצור את האנימציה, על מנת ליצור אנימציה יש ללחוץ על כפתור ה-"+":
הכניסו שם לאנימציה שלכם, ולחצו OK. כעת אתם נמצאים במצב עריכת אנימציה הנראה כך:
ניתן לשים לב שיש מסגרת אדומה סביב החלון שלנו מה שמסמל שאנחנו במצב הקלטה. שימו לב לחלון ה-Timeline שנפתח. בחלון זה אנו עורכים את האנימציה. עריכת אנימציה ב-Blend היא פעולה פשוטה וקלה: אנו מסמנים את המצב ההתחלתי של העצם, המצב הסופי של העצם, פרק הזמן שנבחר לאנימציה, ו-Blend יוצרת אנימציה חלקה בין שני המצבים הללו! על מנת לבצע את האנימציה ראשית נסמן את העצם עליו אנו מעוניינים לבצע את האנימציה – במקרה שלנו ה-Label. כעת כאשר ה-Label מסומן נקבע את המצב בו הוא נמצא כרגע, כמצב ההתחלתי. נלחצן על הכפתור Record Keyframe (מסומן באדום בתמונה למעלה) ונראה כי נוצר לנו עיגול על ה-Timeline:
כעת נזיז את הקו הצהוב לנקודת הזמן הבאה בה נרצה להוסיף מצב. במדריך זה אני אבצע אנימציית של סיבוב הטקסט 360 מעלות. לשם ביצוע אנימציה זו יש להוסיף מצב ביניים בה הטקסט יהיה הפוך ב?180 מעלות (הסיבה היא שאם נהפוך את הטקסט ישירות ב?360 מעלות, המצב ההתחלתי יהיה זהה למצב הסופי וכך כאשר Blend  תשווה ביניהם היא לא תדע איזה אנימציה לבצע). לכן ניצור מצב ביניים לאחר שתי שניות, נזיז את הסמן הצהוב לזמן שתי שניות נהפוך את ה-Label ב-180 מעלות ונלחץ על Record Keyframe:
כעת נסיים את הסיבוב. נעביר את הסמן הצהוב לשניה 4, נחזיר את הטקסט לכיוונו המקורי ונלחץ על Record Keyframe:
סיימנו את האנימציה! עכשיו ניתן לצאת ממצב ההקלטה על ידי לחיצה על ה-Close Storyboard ליד לחצן הפלוס שלחצנו מקודם. אם נריץ את התוכנה נשים לב כי האנימציה מתבצעת ברגע שהתוכנה עולה. אנו מעוניינים שהיא תתבצע רק ברגע שנלחץ על הכפתור ולכן נבטל זאת. ב-Blend נלחץ על כפתור ה-Triggers ולאחר מכן על Window Loaded:
נלחץ על המינוס ליד פקודת ההרצה של האנימציה שלנו. וכעת כאשר נפתח את התוכנית האנימציה לא תפעל, אלא רק כאשר נקרא לה.
בוא נכתוב גם קצת קוד במדריך הזה!
אנו מעוניינים כי ברגע שנלחץ על הכפתור הטקסט ישתנה למה שכתבנו בתיבת טקסט והאנימציה תבוצע. ניתן לבצע זאת ישירות דרך Blend, אך אני מעוניין להדגים את ההפרדה בין עיצוב ממשק המשתמש לבין הקוד ב-WPF ולאכן נבצע זאת ב-#C. על מנת לבצע פעולות כאשר הכפתור נלחץ, נבחר בכפתור ונלחץ על סימן הברק בחלון המאפיינים. לאחר מכן, נלחץ פעמיים על תיבת הטקסט ליד Click ונשים לב כי נפתח לנו עורך #C בתוך Blend.
ניתן לכתוב את קוד ה-#C גם בתוך Blend, אך מומלץ לסגור את Blend ולפתוח את הפרויקט ב-Visual Studio שם נכתוב את הקוד. תוכלו לראות כי אותם השינויים שביצענו ב-Blend עובדים גם ב?Visual Studio. כעת נכתוב מעט קוד: ערכו ב-Visual Studio את הקובץ MainWindow.xaml.cs בהתאם לשינויים הבאים:
הוסיפו בראש הקובץ את השורה אשר תאפשר לנו לעבוד עם אנימציות:
using System.Windows.Media.Animation;
כעת הוסיפו בפונקציית myButton_Click את השורות הבאות:
if (this.myTextBox.Text.Length == 0)
 {
MessageBox.Show(@"Please Enter Text", @"Error");
return;
 }
this.myLabel.Content = this.myTextBox.Text;
(this.FindResource(@"myAnimation") as Storyboard).Begin();
זהו קוד #C סטנדרטי לחלוטין. תחילה אנו בודקים האם המשתמש הכניס טקסט לתיבת הטקסט, במידה ולא אנו מציגים לו הודעה. לאחר מכן, אנו משנים את תוכן ה-Label לטקסט שהמשתמש הכניס ומפעילים את האנימציה בצורה הבאה – תחילה אנו מוצאים את האנימציה על ידי השם שנתנו לה בהתחלה, לאחר מכן אנו עושים לה המרה (Casting) ל-Storyboard (הפונקציה FindResource מחזירה object) וקוראים למתודה ()Begin.

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

להורדת קטעי הקוד המלאים עבור התוכנה


הערה
: ניתן להריץ את התוכנה בקלות על ידי הפעלת הקובץ SimpleWPF.exe בספריית bin\Debug.

הצטרפו לערוץ הטלגרם שלנו!

קבלו עדכונים שוטפים וחדשות מעולם הטכנולוגיה ישירות לטלפון שלכם.

הצטרפו עכשיו

מחיקת זיכרון: למה מיקרוסופט מסתירה פתאום את המלצת ה-32 גיגה-בייט למחשבים אישיים?
מיקרוסופט זונחת את האפליקציות ואת ווינדוס לטובת סוכני ענן חכמים – הכירו את Solara, מערכת הפעלה עבור סוכני AI
מיקרוסופט משיקה גל שינויים בווינדוס 11 – והפעם היא באמת מקשיבה
אילון מאסק רוצה ש-AI יחליף את מיקרוסופט כולה – הכירו את "Macrohard"
מיקרוסופט נתבעת: האם סיום התמיכה ב-Windows 10 מסכן את המשתמשים?
תגיות:מיקרוסופט
איך זה גורם לך להרגיש?
אהבתי!1
מצחיק!0
עצוב0
מופתע0
משועמם1
כועס0
טוען תגובות...

כתבות פופולריות

משטח משלוח של כרטיסי מסך יוקרתיים במחסן מטענים בנמל תעופה, עם אריזות חסרות וניילון עטיפה קרוע
חצי מיליון דולר נעלמו בשדה התעופה: שני משטחים של RTX 5090 אבדו
20/10/2026
הדרך להפסיק לשלם ולקחת בעלות: בנינו שרת AI מפלצתי מקומי
22/08/2026
Google's Gemini 4 Carbon Tops Every Other Model In All But Two Of Google's Benchmarks, Scoring 88.2 Percent On SEC-bench Pro Vulnerability Discovery
גוגל מציגה את Gemini 4 Carbon: ראשון בדירוג, סגור לציבור
29/10/2026
קונסולת PlayStation 5 לצד מסך המציג משחקי PC בתוך ממשק הקונסולה באמצעות Playden
בלי מחשב ובלי סטרימינג: משחקי PC רצים ישירות על PlayStation 5
27/10/2026
HWzoneHWzone
עקבו אחרינו
  • אודות האתר
  • צרו קשר
  • פרסם אצלנו
  • תנאי שימוש ומדיניות פרטיות
  • הצהרת נגישות