Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
GridView A megjelenítési mód, egy ListView vezérlő egyik nézetmódja. Az GridView osztály és a hozzá tartozó segédosztályok lehetővé teszik, hogy Ön és a felhasználók egy olyan táblában tekinthessék meg az elemgyűjteményeket, amelyek általában gombokat használnak interaktív oszlopfejlécként. Ez a témakör bemutatja az osztályt GridView , és ismerteti annak használatát.
Mi az a GridView nézet?
A GridView nézet mód az adatelemek listáját jeleníti meg az adatmezők oszlopokhoz kötésével és egy oszlopfejléc megjelenítésével a mező azonosításához. Az alapértelmezett GridView stílus oszlopfejlécként valósítja meg a gombokat. Az oszlopfejlécek gombjaival fontos felhasználói interakciós képességeket valósíthat meg; A felhasználók például az oszlopfejlécre kattintva rendezhetik GridView az adatokat egy adott oszlop tartalma szerint.
Megjegyzés:
Az oszlopfejlécekhez tartozó gombvezérlők a következőből származnak: GridViewButtonBase.
Az alábbi ábrán a GridView tartalom nézete ListView látható.
GridView oszlopokat az objektumok GridViewColumn jelölik, amelyek automatikusan a tartalmukhoz méretezhetők. Igény szerint egy adott szélességre beállíthat egy GridViewColumn. Az oszlopok átméretezéséhez húzza az oszlopfejlécek között lévő fogó eszközt. A GridView részeként dinamikusan hozzáadhat, eltávolíthat, lecserélhet és átrendezhet oszlopokat, mivel ez a funkció beépített. A GridView megjelenített adatok azonban nem frissíthetők közvetlenül.
Az alábbi példa bemutatja, hogyan definiálhat olyan GridView adatokat, amelyek az alkalmazottak adatait jelenítik meg. Ebben a példában a ListView határozza meg a EmployeeInfoDataSource-t mint ItemsSource. A tulajdonságdefiníciók a DisplayMemberBinding tartalmat GridViewColumn adatkategóriákhoz kötik EmployeeInfoDataSource.
<ListView ItemsSource="{Binding Source={StaticResource EmployeeInfoDataSource}}">
<ListView.View>
<GridView AllowsColumnReorder="true" ColumnHeaderToolTip="Employee Information">
<GridViewColumn DisplayMemberBinding="{Binding Path=FirstName}" Header="First Name" Width="100"/>
<GridViewColumn DisplayMemberBinding="{Binding Path=LastName}" Width="100">
<GridViewColumnHeader>Last Name
<GridViewColumnHeader.ContextMenu>
<ContextMenu MenuItem.Click="LastNameCM_Click" Name="LastNameCM">
<MenuItem Header="Ascending" />
<MenuItem Header="Descending" />
</ContextMenu>
</GridViewColumnHeader.ContextMenu>
</GridViewColumnHeader>
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Path=EmployeeNumber}" Header="Employee No." Width="100"/>
</GridView>
</ListView.View>
</ListView>
GridView elrendezés és stílus
Az oszlopcellák és az oszlopfejléc szélessége GridViewColumn azonos. Alapértelmezés szerint minden oszlop mérete a szélességét a tartalomnak megfelelően méretezi. Igény szerint az oszlopokat rögzített szélességűre is beállíthatja.
A kapcsolódó adattartalom vízszintes sorokban jelenik meg. Az előző ábrán például minden alkalmazott vezetékneve, utóneve és azonosítószáma halmazként jelenik meg, mert vízszintes sorban jelennek meg.
Oszlopok definiálása és stílusa a GridView-ban
A megjelenítendő GridViewColumnadatmező definiálásakor használja a DisplayMemberBinding, CellTemplatevagy CellTemplateSelector tulajdonságokat. A DisplayMemberBinding tulajdonság elsőbbséget élvez a sablontulajdonságok bármelyikével szemben.
Ha meg szeretné adni a tartalom igazítását egy GridViewoszlopban, definiáljon egy CellTemplate. Ne használja a HorizontalContentAlignment és VerticalContentAlignment tulajdonságokat olyan ListView tartalmak esetében, amelyeket egy GridView jelenít meg.
Az oszlopfejlécek sablon- és stílustulajdonságainak megadásához használja az , GridViewés GridViewColumn az GridViewColumnHeaderosztályokat. További információ: GridView oszlopfejlécstílusok és -sablonok áttekintése.
Vizuális elemek hozzáadása GridView-hoz
Ha vizuális elemeket, például CheckBox vezérlőket szeretne Button hozzáadni egy GridView nézetmódhoz, használjon sablonokat vagy stílusokat.
Ha kifejezetten adatelemként definiál egy vizualizációelemet, az csak egyszer jelenhet meg egy GridViewadott elemben. Ez a korlátozás azért létezik, mert egy elemnek csak egy szülője lehet, ezért csak egyszer jelenhet meg a vizualizációfán.
Sorok stílusa GridView-ban
Használja a GridViewRowPresenter és GridViewHeaderRowPresenter osztályokat a GridView sorainak formázására és megjelenítésére. A sorok GridView nézet módban történő stílusának módját a GridView-t implementáló ListView sorstílusa című témakörben találja.
Az ItemContainerStyle használatakor felmerülő igazítási problémák
Az oszlopfejlécek és a cellák közötti igazítási problémák elkerülése érdekében ne állítson be tulajdonságot, és ne adjon meg olyan sablont, amely hatással van egy elem ItemContainerStyleszélességére. Például ne állítsa be a Margin tulajdonságot, és ne adjon meg ControlTemplate, amely hozzáad CheckBox egy ItemContainerStyle tulajdonsághoz, amely a ListView vezérlőn van definiálva. Ehelyett adja meg azokat a tulajdonságokat és sablonokat, amelyek közvetlenül a nézetmódot GridView meghatározó osztályok oszlopszélességére hatással vannak.
Ha például egy CheckBox elemet szeretne hozzáadni a sorokhoz GridView nézet módban, helyezze a CheckBox elemet egy DataTemplate-ba, majd állítsa be a CellTemplate tulajdonságot erre a DataTemplate-ra.
Felhasználói interakciók GridView-nal
Amikor egy alkalmazásban GridView-t használ, a felhasználók interakcióba léphetnek a GridView-nel és módosíthatják annak formázását. A felhasználók például átrendezhetik az oszlopokat, átméretezhetnek egy oszlopot, kijelölhetnek egy táblázat elemeit, és végiggörgethetnek a tartalmakon. Olyan eseménykezelőt is megadhat, amely akkor válaszol, ha egy felhasználó az oszlopfejléc gombra kattint. Az eseménykezelő olyan műveleteket hajthat végre, mint az oszlopok tartalma szerint megjelenített GridView adatok rendezése.
Az alábbi lista részletesebben ismerteti a felhasználói interakciókhoz használható GridView képességeket:
Az oszlopok átrendezése a húzási módszerrel.
A felhasználók átrendezhetik az oszlopokat a GridView bal egérgombbal, miközben az egy oszlopfejléc felett van, majd az oszlopot új helyre húzhatják. Miközben a felhasználó húzza az oszlopfejlécet, megjelenik az oszlopfejléc egy lebegő verziója, valamint egy fekete vonal, amely megmutatja, hová helyezheti be az oszlopot.
Ha módosítani szeretné a fejléc lebegő verziójának alapértelmezett stílusát, adjon meg egy ControlTemplate a GridViewColumnHeader típushoz, amely akkor aktiválódik, ha a Role tulajdonság Floating-ra van állítva. További információ: Stílus létrehozása áthúzott Rácsnézet oszlopfejléchez.
Méretezze át az oszlopot a tartalmához.
A felhasználók duplán az oszlopfejléc jobb oldalán lévő fogóra kattintva átméretezhetik az oszlopokat a tartalomnak megfelelően.
Megjegyzés:
A Width tulajdonságot beállíthatja
Double.NaN-re, hogy ugyanazt a hatást érje el.Elemek kijelölése sorok szerint.
A felhasználók kijelölhetnek egy vagy több elemet egy GridViewlistában.
Ha módosítani szeretné egy Style kijelölt elem nevét, olvassa el az Eseményindítók használata a kijelölt elemek stílusához a ListView-ban című témakört.
Görgetéssel megtekintheti a képernyőn kezdetben nem látható tartalmakat.
Ha a méret GridView nem elég nagy az összes elem megjelenítéséhez, a felhasználók görgethetnek vízszintesen vagy függőlegesen a vezérlők által ScrollViewer biztosított görgetősávokkal. A ScrollBar rejtett, ha az összes tartalom egy adott irányban látható. Az oszlopfejlécek nem görgethetők függőleges görgetősávval, de vízszintesen görgethetők.
Az oszlopfejléc gombjára kattintva kezelheti az oszlopokat.
Amikor a felhasználók egy oszlopfejléc gombra kattintanak, rendezhetik az oszlopban megjelenő adatokat, ha ön adott meg egy rendezési algoritmust.
Az Click eseményt az oszlopfejlécgombok esetében úgy kezelheti, hogy például rendezési algoritmusokat biztosítson. Ha egyetlen oszlopfejléc eseményét szeretné kezelni a Click, állítson be egy eseménykezelőt a GridViewColumnHeader számára. Ha olyan eseménykezelőt szeretne beállítani, amely az Click összes oszlopfejléc eseményét kezeli, állítsa be a kezelőt a ListView vezérlőn.
Egyéb egyéni nézetek beszerzése
Az GridView osztály, amely az ViewBase absztrakt osztályból származik, csak egy a ListView osztályhoz tartozó lehetséges nézetmódok közül. Saját egyéni nézeteket hozhat létre a ListView számára úgy, hogy származtat a ViewBase osztályból. Egyéni nézetmódra példa: Egyéni nézetmód létrehozása ListView-hoz.
GridView támogató osztályok
Az alábbi osztályok támogatják a GridView nézetmódot.
Stílusok és sablonok
Az oszlopfejlécek megjelenését GridView a stílusuk és a sablonok módosításával szabhatja testre. Ebben a szakaszban tárgyaljuk a tulajdonságok elsőbbségi sorrendjét, amelyeket az oszlopfejlécek testreszabásához használ a GridView vezérlőelem ListView nézetmódban. További információ: Mik azok a stílusok és sablonok? és hogyan hozhat létre sablonokat vezérlőkhöz.
Oszlopfejléc testreszabása GridView-ban
Az oszlopfejléc GridView tartalmát, elrendezését és stílusát meghatározó tulajdonságok számos kapcsolódó osztályban találhatók. Ezen tulajdonságok némelyike hasonló vagy azonos funkciókkal rendelkezik.
Az alábbi táblázat sorai olyan tulajdonságok csoportjait jelenítik meg, amelyek ugyanazt a függvényt hajtják végre. Ezekkel a tulajdonságokkal testre szabhatja az oszlopfejléceket a GridView. A kapcsolódó tulajdonságok prioritási sorrendje jobbról balra halad, ahol a legtávolabbi jobb oldali oszlopban lévő tulajdonság a legmagasabb prioritással rendelkezik. Például, ha egy ContentTemplate van beállítva az GridViewColumnHeader objektumon, és a HeaderTemplateSelector van beállítva a társított GridViewColumn-on, akkor az ContentTemplate élvez elsőbbséget. Ebben a forgatókönyvben a HeaderTemplateSelector nincs hatással.
Oszlopfejlécek kapcsolódó tulajdonságai a GridView-ban
| GridView | GridViewColumn | GridViewColumnHeader | |
|---|---|---|---|
| Helyi menü tulajdonságai | ColumnHeaderContextMenu | Nem alkalmazható | ContextMenu |
|
Tooltip Tulajdonságok |
ColumnHeaderToolTip | Nem alkalmazható | ToolTip |
|
Fejlécsablon Tulajdonságok |
ColumnHeaderTemplate
1/ ColumnHeaderTemplateSelector |
HeaderTemplate
1/ HeaderTemplateSelector |
ContentTemplate
1/ ContentTemplateSelector |
| Stílus tulajdonságai | ColumnHeaderContainerStyle | HeaderContainerStyle | Style |
1Fejlécsablon tulajdonságai esetén, ha a sablon és a sablonválasztó tulajdonságot is beállítja, a sablontulajdonság elsőbbséget élvez. Ha például mindkét, a ContentTemplate és a ContentTemplateSelector tulajdonságot is beállítja, a ContentTemplate tulajdonság élvez elsőbbséget.
Lásd még
.NET Desktop feedback