2.WPF texnalogiyasi. WPF texnologiyasi- (Windows Presentation Fandation) so’zidan olingan bo’lib,.NET platformasini ajralmas qismi bo’lib hisoblanadi va u grafik interfeyslar qurish uchun ishlatiladi.Ana’naviy grafik interfeyslarni qurish uchun Windows operatsion tizimining User 32 va GDI+ ilovalaridan foydalanilgan.WPF texnologiyasida esa Direc X dan foydalanamiz.Bu texnologiyaning asosiy xususiyatlaridan biri XAML tilidan foydalanib (XML ga asoslangan) boyitilgan grafik interfeyslarni yaratish hisoblanadi.
WPF ning quyidagi ustunliklari mavjud:
1..NET platformasining C va VB.NET tillaridan foydalanib ishlatilishi.
2.Grafik interfeyslarni yaratishda XAML tilidan foydalanish.
3.WPF elementlari turli xil imkoniyatli ekranlarda moslashib ishlay olishligi
4.WinForms yordamida amalga oshirilishi qiyin bo’lgan masalalarni yechish imkoniyatini mavjudligi.Masalan:3 o’lchamli modellarni yaratish.har xil stillar,shablonlar va temalardan foydalanish.
5.WPF WinForms bilan ishlay olish imkoniyatining mavjudligi ya’ni WinFormsning an’anaviy elementlarini WPF da ishlata olamiz.
6.Juda ko’p boy imkoniyatlarga egaligi.
7.Grafik elementlarini tez ishlatish imkoniyatining mavjudligi.
8.Windows XP dan boshlab Windows10 gacha bo’lgan OT larda ishlatilishi.
WPF
Presentation framework.dll ManagedAPI
PresentationCore.dll Windows Base.dll
Birlashtirish darajasi
Milcore.dll WindowsCoders.dll
Direct X User 32
3.Linq va Xml.Xml hujjat hosil qilish.Parallal LINQ ga kirish. XML bilan ishlashning yana bir usuli LINQ texnologiyasini qo’llash.XML bilan ishlash uchun zarur bo’ladigan LINQ ning barcha funksiyalari System.Xml.Linq nomlar fazosida joylashgan.
{Nomlar fazosi C* dasturlash tilida funksiyalarni chaqirish uchun ishlatiladi.}
Shu nomlar fazosining asosiy sinflari bilan tanishib chiqamiz:
1.XAttribute:XML elementning atributini ifodalaydi.
2.XComment:izohni ifodalaydi.
3.XDocument:To’liq XML hujjatni ifodalaydi.
4.XElement:XML ning alohida elementini ifodalaydi.
Ularning orasida XElement asosiylaridan biri hisoblanadi.
Quyidagi metodlarni ham sanab o’tamiz.
1.Add():Yangi atribut yoki element qo’shish uchun ishlatiladi.
2.Attributes():Ko’rsatilgan element uchun atributlar kolleksiyasini aniqlaydi.
3.Elements():Berilgan elementning barcha bola elementlarini qaytaradi.
4.Remove():Ona obyektining berilgan yoki ko’rsatilgan elementini o’chiradi.
5.RemoveAll():Berilgan elementning barcha bola elementlrini atributlarini o’chiradi.
LINQ to XML ning funksiyalaridan foydalangan holda yangi XML hujjat ko’rishni ko’rib chiqamiz:
XDocument X doc=newXDocument()
//Yangi element yaratish
XElement iphones6=new XElement(“phone”):
//atribut yaratish.
XAttribute iphoneNameAttr=newXAttribute(“name”,”IPhone6”);
XElement iphoneCompanyElem=newXElement(“price”,”40000”);
//Atributlar va elementlarni 1-elementga qo’shish.
Iphone6.Add(iphoneNameAttr);
Iphone6.Add(iphoneCompanyElem);
Iphone6.Add(iphoneCompanyElem);
//ikkinchi elementni yaratish.
XElement galaxy5=new XElement (“phone”);
XAttribute galaxysNameAttr=newXAttribute(“name”,”Samsung Galaxy S5”);
XElement galaxysCompany Elem=newXElem(“Company”,”Samsung”);
XElement galaxyPriceElem=new XElement(“price”,”33000”);
Galaxys5.Add(galaxysNameAttr);
Galaxys5.Add(galaxysCompanyElem);
Galaxys5.Add(galaxysPriceElem);
//O’zak elementini yaratamiz.
XElement phones=new XElement(“phones”);
//O’zak elementga qo’shamiz.
Phones.Add(iphones6);
Phones.Add(galaxyss5);
//hujjatga o’zak elementini qo’shamiz.
Xdoc.Add(phones);
//hujjatni saqlaymiz
Xdoc.Save(“phones.xml”);
Natija quyidagi ko’rinishda bo’ladi:
Apple
40000
Endi yuqoridagi XML hujjatni C* tili yordamida elementlarini qiymatlarini o’qib olish va chiqarishni ko’rib chiqamiz.
Misol:
XDocument xdoc=XDocument.Load(“phones.xml”):
Foreach(XElement.phoneElementinxdoc.Element(“phones”).Elements(“phone”)); {
XAttribute nameAttribute(“name”);
XElement companyElement=phoneElement.Element(“company”);
XElement.priceElement=phoneElement.Element(“price”);
If(nameAttribute!=null&&companyElement!=null&&priceElement!=null);
{
Console.WriteLine($”Smartfon:{nameAttribute.value}”);
Console.WriteLine($”Компания:{companyElement.Value}”);
Console.WriteLine($”Цена:{priceElement.Value}”);
}
Console.WriteLine();
Quyidagi natijaga ega bo’lamiz:
Смартфон:IPhone6
Компания:Apple
Цена:40000
Смартфон:Samsung Galaxy S5
Компания:Samsung
Цена:33000.