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 nézetmód az ListView vezérlőelemek egyik nézetmódja. A GridView osztály és annak kiegészítő osztályai 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 a GridView osztályt, é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, valamint 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 adatokat egy adott oszlop tartalma alapján.
Megjegyzés:
Az a gombvezérlő, amelyet a GridView használ az oszlopfejlécekhez, a ButtonBase-ből származik.
Az alábbi ábrán látható a GridView nézete a ListView tartalomnak.
GridView oszlopokat GridViewColumn objektumok jelölik, amelyek automatikusan méretezhetők a tartalmukhoz. Igény szerint beállíthat egy GridViewColumn-t egy bizonyos szélességre. Az oszlopok átméretezéséhez húzza a fogót az oszlopfejlécek közötti elválasztóvonalon. Dinamikusan hozzáadhat, eltávolíthat, lecserélhet és átrendezhet oszlopokat, mert ez a funkció be van építve a(z) GridView-be. GridView azonban nem frissítheti közvetlenül a megjelenített adatokat.
Az alábbi példa bemutatja, hogyan definiálhat olyan GridView, amely megjeleníti az alkalmazottak adatait. Ebben a példában ListView úgy határozza meg a EmployeeInfoDataSource, mint a ItemsSource. A DisplayMemberBinding tulajdonságdefiníciói GridViewColumn tartalmat kötnek EmployeeInfoDataSource adatkategóriákhoz.
<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>
Az alábbi ábrán az előző példa által létrehozott táblázat látható. A GridView vezérlő egy ItemsSource-objektum adatait jeleníti meg:
GridView elrendezés és stílus
Az oszlopcellák és a GridViewColumn oszlopfejléce azonos szélességű. 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 GridViewColumn-ban megjelenítendő adatmező meghatározásakor használja a DisplayMemberBinding, CellTemplatevagy a CellTemplateSelector tulajdonságot. 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 GridViewoszlopában, adja meg a CellTemplate-et. Ne használja a HorizontalContentAlignment és VerticalContentAlignment tulajdonságokat olyan ListView tartalomhoz, amely GridViewhasználatával van megjelenítve.
Az oszlopfejlécek sablon- és stílustulajdonságainak megadásához használja a GridView, GridViewColumnés GridViewColumnHeader osztá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 és Button vezérlőket szeretne hozzáadni egy GridView nézetmódhoz, használjon sablonokat vagy stílusokat.
Ha kifejezetten adatelemként definiál egy vizuális elemet, az csak egyszer jelenhet meg egy GridView-ban. 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
A GridViewRowPresenter és GridViewHeaderRowPresenter osztályokkal formázhatja és megjelenítheti a GridViewsorait. Példáért arra, hogyan lehet sorokat stílusozni egy GridView nézeti módban, lásd: Sor stílusának példája egy GridView-t megvalósító ListView-ban.
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 ItemContainerStyleegy elemének szélességére. Például ne állítsa be a Margin tulajdonságot, és ne adjon meg olyan ControlTemplate-et, amely egy CheckBox-at ad hozzá egy ItemContainerStyle vezérlőelemen definiált ListView-höz. Ehelyett adja meg azokat a tulajdonságokat és sablonokat, amelyek közvetlenül az GridView nézetmódot meghatározó osztályok oszlopszélességére hatással vannak.
Például, ha hozzá szeretné adni a CheckBox-t a GridView nézet módban lévő sorokhoz, adja hozzá a CheckBox-t egy DataTemplate-hoz, majd állítsa be a CellTemplate tulajdonságot az adott DataTemplate-re.
Felhasználói interakciók GridView-nal
Ha egy GridView-t használ az alkalmazásban, a felhasználók kezelhetik és módosíthatják a GridViewformá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 a GridView megjelenített adatok rendezése egy oszlop tartalma szerint.
Az alábbi lista részletesebben ismerteti az GridView felhasználói interakcióhoz való használatának képességeit:
húzási módszerrel átrendezheti az oszlopokat.
A felhasználók átrendezhetik a GridView oszlopait úgy, hogy a bal egérgombot lenyomják egy oszlopfejléc fölött, majd új helyre húzják az oszlopot. Miközben a felhasználó húzza az oszlopfejlécet, megjelenik a fejléchez tartozó úszó verzió, valamint egy fekete vonal, amely megmutatja, hova lehet beszúrni az oszlopot.
Ha módosítani szeretné a fejléc lebegő verziójának alapértelmezett stílusát, adjon meg egy ControlTemplate egy GridViewColumnHeader típushoz, amely akkor aktiválódik, ha a Role tulajdonság értéke Floating. További információért, lásd: GridView oszlopfejléc húzási stílusának létrehozása.
Oszlop átméretezése 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
Double.NaNértékre állíthatja, hogy ugyanazt a hatást érje el.Sorelemek kijelölése.
A felhasználók kijelölhetnek egy vagy több elemet egy GridView-ból.
Ha módosítani szeretné egy kijelölt elem Style, olvassa el Az eseményindítók használata a kijelölt elemek stílusához listviewcímű témakört.
Görgetéssel megtekintheti a képernyőn kezdetben nem látható tartalmakat.
Ha a GridView mérete nem elég nagy az összes elem megjelenítéséhez, a felhasználók görgethetnek vízszintesen vagy függőlegesen egy ScrollViewer vezérlő által 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 a 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 oszlopfejlécgombok Click eseményét úgy kezelheti, hogy olyan funkciókat biztosítson, mint a rendezési algoritmus. Az egyetlen oszlopfejléc Click eseményének kezeléséhez állítson be egy eseménykezelőt a GridViewColumnHeader-re. Ha olyan eseménykezelőt szeretne beállítani, amely az összes oszlopfejléc Click eseményét kezeli, állítsa be a kezelőt a ListView vezérlőelemen.
Egyéb egyéni nézetek beszerzése
Az GridView absztrakt osztályból származó ViewBase osztály csak az ListView osztály lehetséges nézetmódjainak egyike. A ListView más egyéni nézeteit is létrehozhatja a ViewBase osztályból származtatva. Egyéni nézetmódra példa: Egyéni nézetmód létrehozása ListView.
GridView támogató osztályok
Az alábbi osztályok támogatják a GridView nézetmódot.
Lásd még
.NET Desktop feedback