TOC

This article is currently in the process of being translated into Persian (~99% done).

یک نرم افزار WPF:

Working with App.xaml

App.xaml نقطه شروع برنامه شما را مشخص می کند. ویژوال استودیو هنگام راه اندازی یک برنامه WPF جدید ،به طور خودکار آن را برای شما ایجاد می کند. آنها تقریباً مانند یک پنجره کار می کنند که شامل یک سری کدهایی در قالبApp.xaml.cs می باشد. آن تقریبا شبیه یک پنجره می باشد جایی که این دو پرونده کلاس های جزئی هستند ، با هم کار می کنند تا به شما امکان دهند تا در هر دو نشانه گذاری (XAML) و Code-behind کار کنید.

App.xaml.cs کلاس Application را که یک کلاس مرکزی در یک برنامه WPF Windows است گسترش می دهد. .NET برای شروع دستورالعمل ها به این کلاس می رود و سپس پنجره یا صفحه مورد نظر را از آنجا شروع می کند. این مکان همچنین برای بارگیری در رویدادهای مهم برنامه ، مانند شروع برنامه ، استثنائات غیرقابل کنترل و غیره است. بعداً درباره آن توضیح می دهیم.

یکی از رایج ترین ویژگی های فایل 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 است. این در حقیقت بخشی است که هنگام راه اندازی برنامه ، مشخص می کند کدام پنجره یا صفحه باید در ابتدا اجرا شود. در این مثال، MainWindow.xaml اجرا خواهد شد ، اما اگر دوست دارید از پنجره دیگری به عنوان نقطه شروع استفاده کنید ، می توانید به سادگی این را تغییر دهید

در برخی شرایط ، شما می خواهید کنترل بیشتری درباره نحوه و زمان نمایش پنجره اول داشته باشید. در این حالت ، می توانید ویژگی و مقدار StartupUri را حذف کرده و در عوض ، همه این موارد را از Code-Behind انجام دهید. در ادامه نشان داده خواهد شد.

ساختار 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>

توجه کنید که چگونه StartupUri در رویداد Startup جایگزین شده است (عضویت در رویدادها از طریق XAML در فصل دیگری توضیح داده شده است). در Code-Behind ، می توانید از این رویداد استفاده کنید:

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 ، این است که می خواهیم قبل از نمایش آن ، پنجره راه اندازی را دستکاری کنیم. در این ، ما عنوان آن را تغییر می دهیم ، که خیلی هم مفید نیست ، اما می توانید در رویدادها مشترک شوید یا شاید صفحه نمایش خوش آمدگویی را نشان دهید. وقتی همه کنترل را دارید ، بسیاری از امکانات وجود دارد. در مقاله های بعدی این آموزش به بررسی چندین مورد از آنها خواهیم پرداخت