TOC

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

A WPF application:

The Window

WPF ilovani yasashni boshlaganizda birinchi uchratadiganingiz Window klassi bo'ladi. U asosiy oynaning asosi bo'lib xizmat qiladi va oyna chegarasi, title bar, kichiklishtiruvchi, kattalashtiruvchi, yopuvchi tugmalardan iborat bo'ladi. WPF oynasi <Window> elementi XAML fayli bo'lgan asosdan va uning ortida turuvchi kod *.cs fayli birikmasidan iborat. Agar WPF ilovani yasashda Visual Studio(Express) ishlatayotgan bo'lsangiz, sizga oldindan avtomatik ravishda quyidagicha ko'rinishdagi oynani yasab beradi:

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>

    </Grid>
</Window>

x:class atributi XAML fayliga qaysi klassni ishlatishni belgilaydi, bizni holda u Window1 va buni ham Visual Studio avtomatik yasab berdi. Window1 klassini loyihangiz fayllar ro'yxatidan XAML fayli ichidan topishingiz mumkin. Odatiy holda u quyidagicha ko'rinishda bo'ladi:

using System;
using System.Windows;
using System.Windows.Controls;
//…more using statements

namespace WpfApplication1
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }
    }
}

Ko'rib turganingizdek Window1 klassi partial tip sifatida e'lon qilingan, chunki kompilyatsiya vaqtida kod turgan file va XAML fayli birlashtirilib, sizga bir butun oyna ko'rinishini beradi. Aslida bu ishlarni InitializeComponent() ni chaqirilganda qilinadi, shuning uchun to'la funksiyali oyna ishlab turishi shart qilingan

Agar XAML fayliga qaytadigan bo'lsak, Window elementining bir nechta qiziqarli atributlarini ko'rishingiz mumkin, masalan: Sarlavha, oynaning sarlavhasini (Sarlavha satrini), boshlang'ich kengligi va balandligini belgilaydi. Bundan tashqari, bu erda bir nechta nomlar maydoni ta'riflari mavjud, ular haqida keyinroq gaplashamiz.

E'tibor bering, Visual Studio Oyna ichida Grid elementini yaratgan. Grid WPF konteynerlaridan biri bo'lib, unda boshqa har qanday konteyner yoki boshqaruv elementlari bo'lishi mumkin, Oynada esa faqat bitta bola element bo'lishi mumkin. Bunday bolalar konteyneri uchun eng yaxshi variantlardan biri Panel elementidir. Keyinchalik o'quv qo'llanmasida biz foydalanishingiz mumkin bo'lgan har xil turdagi konteynerlarni batafsil ko'rib chiqamiz, chunki bu WPFda juda muhim mavzu.

Oynaning muhim xususiyatlari

Window sinfida ilova oynasining koʻrinishi va harakatini boshqarish uchun sozlashingiz mumkin boʻlgan bir nechta qiziqarli atributlar mavjud. Quyida eng qiziqarlilarning qisqa ro'yxati keltirilgan:

Icon - odatda sarlavhaning chap yuqori chap burchagida joylashgan oyna belgisini aniqlash imkonini beradi (Sarlavha).

ResizeMode- oxirgi foydalanuvchi oynaning o'lchamini o'zgartirishi mumkinligini boshqaradi. Standart qiymat CanResize bo'lib, foydalanuvchiga kichiklashtirish/kattalashtirish tugmalari yordamida yoki sichqoncha kursori bilan burchaklarni sudrab olib, oyna hajmini o'zgartirish imkonini beradi. CanMinimize foydalanuvchiga oynani kichraytirish imkonini beradi, lekin uni kattalashtirish yoki o'lchamini o'zgartirishni oldini oladi. NoResize - bu kichraytirish/kattalashtirish tugmalarini olib tashlaydigan va oyna hajmini o'zgartirishga ruxsat bermaydigan eng qat'iy qoida.

ShowInTaskbar- Standart qiymat rost, lekin agar siz uni noto'g'ri deb qayta belgilasangiz, Windows vazifalar panelida oyna ko'rsatilmaydi. Bu xususiyat juda foydali, chunki u ikkilamchi oynalarni yoki vazifalar panelidan laganda uchun minimallashtirilishi kerak bo'lgan ilovalarni olib tashlash imkonini beradi.

SizeToContent- Oyna o'z o'lchamini o'z mazmuniga moslash uchun avtomatik ravishda o'zgartirish yoki o'zgartirishni aniqlaydi. Odatiy qiymat Manual, ya'ni oyna avtomatik ravishda o'lchamini o'zgartirmaydi. Boshqa variantlar quyidagilardir: Kenglik, Balandlik va Kenglik va balandlik, bu sizga derazaning kengligi, balandligi yoki ikkalasi bo'yicha avtomatik o'lchamini sozlash imkonini beradi.

Topmost- Standart noto'g'ri, lekin rostga o'tilsa - agar minimallashtirilmasa, oyna oldingi planda qoladi. Mulk foydali, ammo tor maqsadli vazifa uchun.

WindowStartupLocation- oynaning boshlang'ich holatini boshqaradi. Odatiy qiymat Manual hisoblanadi, ya'ni ishga tushirish vaqtida oyna oynaning yuqori va chap xususiyatlariga ko'ra joylashtiriladi. Boshqa opsiyalarga oynani ota-oynada markazlashtiruvchi CenterOwner va oynani ekranda markazlashtiradigan CenterScreen mavjud.

WindowState - oynaning dastlabki holatini moslashtiradi. Bu Oddiy, Maksimallashtirilgan yoki Minimallashtirilgan bo'lishi mumkin. Odatiy qiymat Oddiy bo'lib, u ishga tushganda oynani kichraytirish yoki kattalashtirishni istamasangiz ishlatiladi.

Bunday atributlar juda ko'p. Keyingi bobga o'tishdan oldin ularni o'zingiz o'qing.