3. wpf buyruqlaridan foydalanish wpf da buyruq qatori parametrlari
Download 371.69 Kb.
|
WPFda boshqaruv Davronbek
- Bu sahifa navigatsiya:
- Kliklarni boshqarish
Belgilar va katakchalarMenyu elementining ikkita umumiy xususiyati - bu menyu bandini va u nima qilishini osonroq aniqlash uchun ishlatiladigan piktogramma va muayyan xususiyatni yoqish va o'chirish mumkin bo'lgan tekshiriladigan menyu elementlariga ega bo'lish qobiliyati. WPF MenuItem ikkalasini ham qo'llab-quvvatlaydi va undan foydalanish juda oson: Ushbu misol uchun men ikkilamchi yuqori darajali elementni yaratdim, u erda ikkita element qo'shdim: biri belgilangan piktogramma bilan, Icon xususiyatidan uning ichida standart Tasvir boshqaruvi bilan, ikkinchisida esa IsCheckable xususiyatidan foydalanamiz. foydalanuvchiga elementni tekshirish va belgini olib tashlashga ruxsat bering. Men hatto uni sukut bo'yicha tekshirish uchun IsChecked xususiyatidan foydalanganman. Code-behind-dan, bu ma'lum bir menyu elementi tekshirilgan yoki tekshirilmaganligini bilish uchun o'qishingiz mumkin bo'lgan xususiyatdir. Kliklarni boshqarishFoydalanuvchi menyu bandini bosganda, siz odatda biror narsa sodir bo'lishini xohlaysiz. Eng oson yo'li oddiygina MenuItem-ga bosish hodisasi ishlovchisini qo'shishdir, masalan: Code-behind-da siz mnuNew_Click usulini qo'llashingiz kerak bo'ladi, masalan: private void mnuNew_Click(object sender, RoutedEventArgs e) { MessageBox.Show("New"); } Bu oddiyroq ilovalar uchun yoki biror narsani prototiplashda etarli bo'ladi, lekin WPF usuli buning uchun buyruqdan foydalanishdir. Yuqoridagi kabi menyu elementining Click hodisasini osongina boshqarishingiz mumkin, ammo keng tarqalgan yondashuv WPF buyruqlaridan foydalanishdir. Buyruqlarni ishlatish va yaratish bo'yicha juda ko'p nazariyalar mavjud, shuning uchun ular saytda o'zlarining maqolalari toifasiga ega, ammo hozircha men sizga aytishim mumkinki, ular WPFda, ayniqsa Menyu bilan birgalikda ishlatilganda bir nechta afzalliklarga ega. yoki asboblar paneli. Avvalo, ular bir xil kodni bir nechta joyda qo'llamasdan, asboblar panelida, menyuda va hatto kontekst menyusida bir xil harakatga ega bo'lishingizni ta'minlaydi. Shuningdek, ular klaviatura yorliqlari bilan ishlashni ancha osonlashtiradi, chunki WinForms-dan farqli o'laroq, WPF klaviatura yorliqlarini avtomatik ravishda tinglamaydi, agar siz ularni menyu bandiga tayinlasangiz - buni qo'lda qilishingiz kerak bo'ladi. Biroq, buyruqlardan foydalanganda, WPF barcha quloqlardir va klaviatura yorliqlariga avtomatik ravishda javob beradi. Menyu bandining matni (sarlavhasi) ham avtomatik tarzda o'rnatiladi (garchi kerak bo'lsa, uni qayta yozishingiz mumkin) va foydalanuvchiga ma'lum menyu bandini chaqirish uchun qaysi klaviatura yorliqlaridan foydalanish mumkinligini ko'rsatadigan InputGestureText ham o'rnatiladi. Keling, to'g'ridan-to'g'ri Menyuni WPF buyruqlari bilan birlashtirish misoliga o'tamiz: using System; using System.Windows; using System.Windows.Input; namespace WpfTutorialSamples.Common_interface_controls { public partial class MenuWithCommandsSample : Window { public MenuWithCommandsSample() { InitializeComponent(); } private void NewCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e) { e.CanExecute = true; } private void NewCommand_Executed(object sender, ExecutedRoutedEventArgs e) { txtEditor.Text = ""; } } } Bu mutlaqo ravshan bo'lmasligi mumkin, ammo buyruqlar yordamida biz shunchaki bir qancha narsalarni bepul oldik: elementlardagi klaviatura yorliqlari, matn va InputGestureText va WPF faol boshqaruv va uning holatiga qarab elementlarni avtomatik ravishda yoqadi/o'chiradi. Bunday holda, Kesish va Nusxalash o'chirilgan, chunki hech qanday matn tanlanmagan, lekin joylashtirish yoqilgan, chunki mening vaqtinchalik buferim bo'sh emas! Va WPF ma'lum buyruqlarni ma'lum boshqaruv elementlari bilan qanday boshqarishni bilganligi sababli, bu holda Kesish/Nusxalash/Yapıştırma buyruqlari matn kiritish boshqaruvi bilan birgalikda, biz ularning Bajarish hodisalarini boshqarishimiz shart emas - ular darhol ishlaydi. quti! Biz buni New buyrug'i uchun bajarishimiz kerak , chunki WPF foydalanuvchi uni faollashtirganda nima qilishimizni taxmin qilishning imkoni yo'q. Bu buyruqlar bobida batafsil bayon qilingan Oynaning CommandBindings bilan amalga oshiriladi . Oldingi maqolada biz buyruqlar nima va ular qanday ishlashi haqida ko'plab nazariyalarni muhokama qildik. Ushbu bobda biz buyruqlarni foydalanuvchi interfeysi elementlariga tayinlash va barchasini bir-biriga bog'laydigan buyruq bog'lashlarini yaratish orqali amalda qanday ishlatishni ko'rib chiqamiz. using System; using System.Collections.Generic; using System.Windows; using System.Windows.Input; namespace WpfTutorialSamples.Commands { public partial class UsingCommandsSample : Window { public UsingCommandsSample() { InitializeComponent(); } private void NewCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e) { e.CanExecute = true; } private void NewCommand_Executed(object sender, ExecutedRoutedEventArgs e) { MessageBox.Show("The New command was invoked"); } } } Biz uni CommandBindings to'plamiga qo'shish orqali Oynada buyruqni bog'lashni aniqlaymiz. Biz foydalanmoqchi bo'lgan Buyruqni (ApplicationCommands-dan Yangi buyrug'i), shuningdek, ikkita hodisa ishlov beruvchisini belgilaymiz. Vizual interfeys bitta tugmachadan iborat bo'lib, biz buyruqni Buyruq xususiyatidan foydalanib biriktiramiz. Code-behind-da biz ikkita voqeani boshqaramiz. Muayyan buyruq hozirda mavjud yoki yo'qligini bilish uchun dastur bo'sh turganda WPF qo'ng'iroq qiladigan CanExecute ishlov beruvchisi bu misol uchun juda oddiy, chunki biz ushbu maxsus buyruq har doim mavjud bo'lishini xohlaymiz . Bu hodisa argumentlarining CanExecute xossasini rost deb belgilash orqali amalga oshiriladi . Bajarilgan ishlov beruvchi buyruq chaqirilganda oddiygina xabarlar oynasini ko'rsatadi. Agar siz namunani ishga tushirsangiz va tugmani bossangiz, ushbu xabarni ko'rasiz. Shunisi e'tiborga loyiqki, bu buyruq standart klaviatura yorlig'iga ega bo'lib, siz qo'shimcha bonus sifatida olasiz. Tugmani bosish o'rniga, siz klaviaturada Ctrl + N tugmachalarini bosishga harakat qilishingiz mumkin - natija bir xil. Hulosa
Ilgari biz asosan foydalanuvchining funktsional talablariga javob beradigan mahsulotlarni yaratishga e'tibor qaratganmiz. Foydalanuvchi tajribasi ko'pincha ishlab chiqish jarayonida kech ko'rib chiqiladi. Ammo bugungi kunda mijoz faqat ishlaydigan mahsulotdan ko'proq narsani talab qiladi. To'g'ri xususiyatlarni taqdim etish hali ham yaxshi mahsulot uchun zaruriy shartdir, lekin uni g'ayrioddiy narsaga aylantirish uchun siz yaxshi foydalanuvchi tajribasini taqdim etishingiz kerak! Boy foydalanuvchi tajribasini taqdim etish omadli narsa emas. Uni rejalashtirish, loyihalash va mahsulotni ishlab chiqishda birlashtirish kerak. Boy foydalanuvchi tajribasini loyihalash nafaqat ba'zi grafikalar va gradientlar bo'yicha foydalanuvchi interfeysingizni yaratish emas - bu ancha kengroq tushuncha. Bu foydalanuvchi va sizning dasturiy ta'minotingiz o'rtasida hissiy aloqani yaratish haqida. Bu foydalanuvchini yaxshi his qiladi va shuning uchun u dasturiy ta'minotdan foydalanishni davom ettirishni yaxshi ko'radi. Download 371.69 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling