11-mavzu ListBox va ComboBox obyektlari Reja


Download 51.07 Kb.
Sana08.09.2023
Hajmi51.07 Kb.
#1674430
Bog'liq
11 тем


11-mavzu ListBox va ComboBox obyektlari
Reja

  1. ListBox obyekti

  2. ComboBox obyekti


ListBox va ComboBox
WPF --- WPF boshqaruvlari --- ListBox va ComboBox
Listbox klassi
ListBox klassi Windows muhitining umumiy komponentini, foydalanuvchiga elementlardan birini tanlash imkonini beruvchi oʻzgaruvchan uzunlikdagi roʻyxatlarni ifodalaydi.
ListBox klassi SelectionMode xususiyati Ko'p yoki Kengaytirilgan ga o'rnatilganda bir nechta tanlash imkonini beradi . Bir nechta rejimda siz istalgan elementni tanlashingiz yoki ustiga bosish orqali uni bekor qilishingiz mumkin. Kengaytirilgan rejimda qo'shimcha elementlarni tanlash uchun tugmasini yoki elementlar oralig'ini tanlash uchun tugmasini bosishingiz kerak. Har qanday ko'p tanlovli ro'yxat ko'rinishi tanlangan barcha elementlarni olish uchun SelectedItem xususiyati o'rniga SelectedItems to'plamidan foydalanadi .
Turli boshqaruv elementlari ichki o'rnatilgan tarkibni boshqacha boshqaradi. ListBox ob'ekti o'zining Items to'plamidagi barcha ichki o'rnatilgan ob'ektlarni saqlaydi .
ListBox - bu juda moslashuvchan boshqaruv. U nafaqat ListBoxItem obyektlarini , balki har qanday ixtiyoriy elementlarni ham saqlashi mumkin. Oxir oqibat, ListBoxItem klassi ContentControl sinfining avlodi bo'lib , u ichki o'rnatilgan kontent qismlarini saqlashga imkon beradi. Agar bunday fragment UIElement dan olingan sinf bo'lsa , u ListBox elementida ko'rsatiladi . Agar u boshqa turdagi ob'ekt bo'lsa, ListBox ToString ( ) usulini chaqiradi va natijada olingan matnni ko'rsatadi. Masalan :
< ListBox Margin="5">
< StackPanel Margin="5" Orientation="Gorizontal">


_ _
< StackPanel Margin="5" Orientation="Gorizontal">


_ _
< StackPanel Margin="5" Orientation="Gorizontal">


_ _
_ _

Misoldan ListBox ob'ektlari o'zlariga kerak bo'lgan ListBoxItem ob'ektlarini bilvosita yaratishga qodirligini ko'rishingiz mumkin . Bu shuni anglatadiki, ob'ektlar to'g'ridan-to'g'ri ListBox elementi ichiga joylashtirilishi mumkin .
Ixtiyoriy elementlarni ro'yxatga olish qobiliyati boshqa sinflardan foydalanmasdan turli xil ro'yxatga asoslangan boshqaruv elementlarini yaratishga imkon beradi. Masalan, Windows- da Shakllar maxsus sinfga ega CheckedListBox , u har bir elementning yonidagi katakchalar bilan ro'yxat sifatida ko'rsatiladi. WPF da buning uchun maxsus sinf kerak emas, chunki u standart ListBox obyekti yordamida tezda yaratilishi mumkin .
SelectedItem qiymatini (va SelectedItems va Items to'plamlarini) o'qiganingizda , ListBoxItem ob'ektlarini ko'rmasligingizni yodda tuting - buning o'rniga siz ro'yxatdagi ob'ektlarni ko'rasiz. CheckedListBox misolida bu SelectedItem CheckBox obyektini taqdim etishini bildiradi .
Agar siz hozirda tanlangan elementni topishingiz kerak bo'lsa, uni to'g'ridan-to'g'ri SelectedItem yoki SelectedItems xususiyatidan o'qishingiz mumkin . Qaysi element tanlanmaganligini aniqlashingiz kerak bo'lsa (agar mavjud bo'lsa), SelectionChangedEventArgs obyektining RemovedItems xususiyatidan foydalanishingiz mumkin .
Xuddi shunday, AddedItems xususiyati tanlovga qaysi elementlar qo'shilganligini aytadi. Bitta elementni tanlash rejimida tanlovni o'zgartirganda, har doim faqat bitta element qo'shilishi mumkin va faqat bitta elementni ham olib tashlash mumkin. Ko'p tanlash yoki kengaytirilgan rejimda bu har doim ham shunday emas.
ListBoxItem klassi kichik qo'shimcha xususiyatga ega: u qiymati o'qilishi (yoki o'rnatilishi) mumkin bo'lgan IsSelected xususiyatini va element tanlanganda hisobot beradigan Selected va Unselected hodisalarini belgilaydi. Biroq, shunga o'xshash funksiyalarga ListBox sinfi a'zolari , SelectedItem (yoki SelectedItems ) xususiyati va SelectionChanged hodisasi yordamida erishish mumkin .
ComboBox klassi
ComboBox elementi ListBox elementiga o'xshaydi . U aniq yoki bilvosita yaratilgan ComboBoxItem ob'ektlari to'plamini saqlaydi . L istBoxItem singari , ComboBoxItem ham har qanday ichki o'rnatilgan elementni saqlashi mumkin bo'lgan kontent boshqaruvidir.
ComboBox va ListBox sinflarining asosiy farqi ularning oynada ko'rsatilishidadir. ComboBox elementi ochiladigan ro'yxatni ishlatadi, ya'ni bir vaqtning o'zida faqat bitta elementni tanlash mumkin.
Agar foydalanuvchi matn maydoniga matn kiritish orqali ComboBox -dagi elementni tanlash imkoniyatiga ega bo'lishini istasangiz, IsEditable xususiyatini true ga o'rnatishingiz kerak . Bundan tashqari, siz faqat oddiy matnli ComboBoxItem obyektlarini yoki mazmunli ToString ( ) tasviri bilan obyektlarni saqlashingiz kerak . Misol uchun, agar siz tahrirlanadigan ochiladigan ro'yxatni Image ob'ektlari bilan to'ldirsangiz, u holda yuqori qismida paydo bo'ladigan matn butunlay Image sinfining nomi bilan belgilanadi, bu siz xohlagan narsa emas.
ComboBox elementining cheklovlaridan biri bu avtomatik o'lchamlarni belgilashda uning mos kelishidir. ComboBox uning mazmuniga mos keladigan kenglikni tanlaydi, ya'ni. bir elementdan ikkinchisiga o'tganda o'lchamini o'zgartiradi. Afsuski, ComboBox-ga eng katta element hajmini qabul qilishni aytishning oson yo'li yo'q . Buning o'rniga Width xususiyati uchun qattiq kodlangan qiymatni belgilashingiz kerak , bu juda noqulay.
Download 51.07 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling