TOC

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

A WPF application:

Working with App.xaml

App.xaml ilovangizni boshlang'ich nuqtasi xisoblanadi. Visual Studio yangi loyiha boshlayotganingizda siz uchun bu faylni va unga bog'langan App.xaml.cs faylini avtomatik ravishda yasab beradi. Bu ikki fayl dastur oynasini hosil qilish uchun birgalikda ishlaydi, shuning uchun ham tiplari partial sifatida e'lon qilingan

App.xaml.cs WPF Windows ilovasida asosiy sinf bo'lgan Ilova sinfini kengaytiradi. .NET avval ushbu sinfda boshlash ko'rsatmalarini amalga oshiradi va keyin kerakli WPF sahifasini ishga tushiradi. Bu sinf, shuningdek, ilovaning ishga tushirilishi, ishlov berilmagan istisnolar va h.k. kabi muhim voqealarga obuna bo'lish uchun joy, lekin keyinroq bu haqda ko'proq.

App.xaml faylining eng koʻp qoʻllaniladigan funksiyalaridan biri ilovaning istalgan darajasidan foydalanish va ularga kirish mumkin boʻlgan global resurslarni aniqlashdir (masalan, global uslublar). Buni biroz keyinroq batafsil muhokama qilamiz.

App.xaml tuzilishi

Yangi ilova yaratishda avtomatik tarzda yaratilgan App.xaml fayli quyidagicha ko'rinishda bo'ladi:

<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>

Ushbu kodda e'tibor berish kerak bo'lgan asosiy narsa - StartupUri xususiyati. Aslida, bu qism dastur ishga tushganda qaysi Oyna (Oyna) yoki Sahifa (Sahifa) uy bo'lishini bildiradi. Bizning holatda, MainWindow.xaml boshlang'ich sahifa bo'ladi, lekin siz StartupUri xususiyati tarkibini o'zgartirish orqali uni istalgan boshqasiga o'zgartirishingiz mumkin.

Ba'zi hollarda, birinchi oyna qanday va qachon ochilishini qattiqroq nazorat qilishingiz kerak. Bunday holda, siz StartupUri xususiyatini olib tashlashingiz va ushbu funksiyani keyinroq ko'rsatiladigan yordamchi kodda amalga oshirishingiz mumkin.

App.xaml.cs tuzilishi

Yangi loyiha uchun mos keladigan App.xaml.cs fayli odatda shunday ko'rinadi:

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

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

	}
}

Siz ushbu sinfning Ilovalar sinfini qanday kengaytirishini ko'rasiz, bu bizga dastur darajasida funksionallikni amalga oshirish imkonini beradi. Misol uchun, siz Startup hodisasiga (ilovani ishga tushirish) obuna bo'lishingiz mumkin, unda siz "qo'lda" boshlash oynasini yaratishingiz mumkin.

Mana bir misol:

<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 xususiyati Startup hodisasiga obuna bilan qanday almashtirilganiga e'tibor bering (XAML-dan voqealarga obuna bo'lish keyingi boblarda taqdim etiladi). CodeBehind-da siz ushbu hodisadan quyidagicha foydalanishingiz mumkin:

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();
		}
	}
}

Ushbu misolning shunchaki StartupUri xususiyatidan foydalanish bilan solishtirganda ajoyib tomoni shundaki, biz boshlang'ich oynasini paydo bo'lishidan oldin boshqarayapmiz. Misolda biz oynaning sarlavhasini o'zgartirdik (eng foydali emas), balki siz voqealarga obuna bo'lishingiz yoki ekranni ko'rsatishingiz mumkin, chunki to'liq boshqaruv paydo bo'lganda, yangi imkoniyatlar paydo bo'ladi. Aynan shu imkoniyatlarni biz qo'llanmaning keyingi boblarida chuqurroq ko'rib chiqamiz.