TOC

This article has been localized into Hebrew by the community.

אפליקציית WPF:

עבודה עם App.xaml

קובץ הApp.xaml מהווה את נקודת ההתחלה של אפליקציית WPF. בפיתוח בVisual Studio, הקובץ יווצר אוטומטית בעת יצירה של אפליקציית WPF חדשה, יחד עם קובץ Code-behind שנקרא App.xaml.cs. הקבצים הללו עובדים בדומה ל-Window, כאשר שני הקבצים הם מחלקות חלקיות (Partial classes), אשר עובדים יותר כדי לאפשר לך לעבודה הן בשפת הmarkup (בתוך קובץ הXAML) והן בCode-behind.

בקובץ App.xaml.cs ניתן להרחיב את מחלקת האפליקצייה (App), המחלקה המרכזית בכל Windows application. תשתית הNET. פונה למחלקה זו כדי להפעיל את האפליקציה. מחלקה זו היא המקום להרשם לאירועים (events) חשובים באפליקציה כגון application start ו- unhandled exceptions. נושא זה יורחב בהמשך

אחד השימוש הנפוצים בקובץ ה App.xaml הוא הגדרת משאבים גלובליים אשר צריכים להיות נגישים לכל חלקי האפליקציה, לדוגמא סגנונות גלובליים. נושא זה יפורט בהמשך.

המבנה של App.xaml

כאשר יוצרים יישום חדש, קובץ App.xaml נראה כך:

<Application x:Class="WpfTutorialSamples.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
    <Application.Resources>

    </Application.Resources>
</Application>

הדבר המרכזי שיש לשים אליו לב זוהי התכונה StartupUri. זו תכונה שמציינת באיזה חלון או דף (Page) להתחיל את היישום. במקרה זה, MainWindow.xaml יופעל ראשון, אך אם תרצה להתחיל בחלון אחר, תוכל פשוט לשנות תכונה זאת.

במקרים מסוימים תרצה יותר שליטה על האופן שבו החלון הראשון מוצג. במקרים כאלו, אתה יכול למחוק את התכונה StartupUri ולעשות זאת בקוד-מאחור במקום. זה יודגם מיד.

מבנה הקובץ App.xaml.cs

קובץ ה-App.xaml.cs התואם, יראה לרוב כך בפרוייקט חדש:

using System;
using System.Collections.Generic;
using System.Windows;

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

	}
}

ניתן לראות כי בקובץ זה ניתן להרחיב את המחלקה Application, ע"י עבודה ברמת האפליקציה בקוד. בקובץ זה, ניתן למשך להרשם לאירוע הStartup של האפליקציה, שם ניתן לספק מימוש ייחודי לחלון הטעינה של האפליקציה.

לדוגמא

<Application x:Class="WpfTutorialSamples.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
			 Startup="Application_Startup">
    <Application.Resources></Application.Resources>
</Application>

שים לב- ה- StatrupUri הוחלף ע"י הרשמה לאירוע "Startup event" (רישום לאירועים דרך קובץ XAML מוסבר בפרק אחר). בקוד (Code behinde), ניתן להשתמש בevent כך:

using System;
using System.Collections.Generic;
using System.Windows;

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

		private void Application_Startup(object sender, StartupEventArgs e)
		{
			// Create the startup window
			MainWindow wnd = new MainWindow();
			// Do stuff here, e.g. to the window
			wnd.Title = "Something else";
			// Show the window
			wnd.Show();
		}
	}
}

דוגמא זו מציגה באופן יפה מניפולציה בחלון הטעינה עוד לפני הצגתו, זאת בניגוד לשימוש הפשוט שנעשה בתכונת הStartupUri בקובץ הXAML. בדוגמא הזו, ביצענו שינוי בכותרת של החלון- לא מדובר בשינוי משמעותי או יעיל במיוחד, אך באופן דומה ניתן להרשם לאירועים או להראות מסך splash או כל אפשרות אחרת (שליטה מלאה של המפתח). בהמשך המדריך, נבחן לעומק חלק מהיכולות הנ"ל.