WPF listát, és legördülő menüből
osztály ListBox
ListBox osztály egy közös eleme a Windows környezet - felsorolja, változó hosszúságú, amely lehetővé teszi a felhasználó számára, hogy válasszon az elemekkel.
Class ListBox lehetővé feleletválasztós, ha az ő tulajdonát SelectionMode értéket rendelni a többszörös vagy kiterjesztett. A többszörös módban válasszon ki egy elemet, vagy megszünteti a kiválasztást rajta. Kiterjesztett módban, nyomja meg a gombot
Különböző ellenőrzések fogantyú beléjük ágyazott különböző tartalmak. ListBox objektum tárolja az összes beágyazott objektumokat a tételek gyűjteménye.
ListBox elég rugalmas ellenőrzési. Meg lehet tárolni nemcsak ListBoxItem tárgyak, hanem tetszőleges elemeket. Végtére is, az osztály egy alosztálya ListBoxItem ContentControl, amely lehetővé teszi, hogy tárolja töredék tartalom zárt. Ha ilyen fragmentum egy osztály generált UIElement, akkor megjelenik a ListBox elem. Ha ez egy másik típusú objektum, a ListBox hatására a módszer toString (), és megjeleníti a kapott szöveget. Például:
A példa azt mutatja, hogy a ListBox objektumok hallgatólagosan létre a szükséges objektumokat ListBoxItem őket. Ez azt jelenti, hogy tárgyakat lehet elhelyezni közvetlenül belül ListBox elem.
Lehetőség arra, hogy a listákban tetszőleges elemek kialakítása lehetővé teszi, hogy a különböző lista alapján az ellenőrzések, nem használja a más osztályokba. Például egy Windows Forms egy speciális osztálya CheckedListBox, listaként a négyzeteket az egyes tételek mellett. A WPF, akkor nem kell semmilyen különleges besorolású, mert lehet gyorsan létrehozott egy szabványos objektum ListBox.
Ha olyan listát, amely tartalmazza a különböző elemeket, tartsa szem előtt, hogy az olvasás az érték SelectedItem (valamint gyűjtemények és tételek SelectedItems) akkor nem fogja látni ListBoxItem tárgyak - ahelyett, hogy látni fogja a tárgyakat, amelyek szerepelnek a listán. A példában az elem CheckedListBox ez azt jelenti, hogy SelectedItem biztosít CheckBox objektumot.
Ha meg akarja találni az aktuálisan kiválasztott elem, hogy el lehet olvasni közvetlenül az ingatlan SelectedItem vagy SelectedItems. Ha kell meghatározni, hogy melyik elem került kijelölve (ha egyáltalán volt), akkor a tulajdon RemovedItems kifogást SelectionChangedEventArgs.
Hasonlóképpen, AddedItems ingatlan elmondja, milyen elemek kerültek fel a kiválasztott számot. Az egyik mód kiválasztása, amikor a kiválasztás elem mindig hozzá kell adni csak az egyik eleme, és eltávolítjuk is csak egy eleme. ez nem mindig a multi-kiválasztási módban vagy Advanced üzemmódban.
Osztályba ListBoxItem van egy kis kiegészítő tulajdonsága, hogy meghatározott ingatlan IsSelected. amelynek értéke lehet olvasni (vagy telepítés), és az események kijelölt és nem kijelölt, ami beszámolt a elosztásáról az elemet. Azonban a hasonló lehetőségeket állíthatjuk elő az osztály tagjai ListBox - ingatlan SelectedItem (vagy SelectedItems) és az eseményeket SelectionChanged.
osztály ComboBox
A ComboBox mint egy ListBox elem. Ő tartja objektumok gyűjteménye ComboBoxItem, amelyek explicit vagy implicit módon. Ahogy ListBoxItem, ComboBoxItem egy eleme tartalom menedzsment, amely tárolja a beágyazott.
A fő különbség ComboBox és ListBox osztály egy módja annak, hogy megjelenítse őket az ablakon. A ComboBox használ egy legördülő lista, mely azt jelenti, hogy csak az egyik elem lehet kiválasztani egy időben.
Ha azt szeretnénk, hogy győződjön meg arról, hogy a felhasználó kiválaszt egy elemet a ComboBox megadásával szöveget egy szöveges mező, meg kell adnia az ingatlan IsEditable igaz. Továbbá, meg kell menteni csak a sima szöveget tárgyak, vagy a ComboBoxItem értelmes képviselete a toString (). Pl a szöveg jelenik meg a felső, akkor teljesen meghatározott osztály nevét kép, és nem valószínű, hogy meg kell kitölteni, ha egy szerkeszthető legördülő listából objektumok parancsot.
Az egyik korlátozás ComboBox elem olyan eljárásra automatikus beállítása a méret kiválasztása. ComboBox kiválaszt egy ilyen szélességű elhelyezésére annak tartalmát, azaz átméretezi az átmenet az egyik elemből a másikba. Sajnos nincs egyszerű módja annak, hogy adja meg a méret a ComboBox hogy a legnagyobb eleme. Ehelyett meg kell adnia egy beégetett szélesség ingatlan értékét, ami nagyon kellemetlen.