Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
GridView de weergavemodus is een van de weergavemodi voor een ListView besturingselement. Met de GridView klasse en de bijbehorende ondersteunende klassen kunnen u en uw gebruikers itemverzamelingen weergeven in een tabel die doorgaans knoppen gebruikt als interactieve kolomkoppen. In dit onderwerp wordt de GridView klas geïntroduceerd en wordt het gebruik ervan beschreven.
Wat is een GridView-weergave?
In de GridView weergavemodus wordt een lijst met gegevensitems weergegeven door gegevensvelden aan kolommen te binden en door een kolomkop weer te geven om het veld te identificeren. Met de standaardstijl GridView worden knoppen geïmplementeerd als kolomkoppen. Met behulp van knoppen voor kolomkoppen kunt u belangrijke mogelijkheden voor gebruikersinteractie implementeren; Gebruikers kunnen bijvoorbeeld op de kolomkop klikken om gegevens te sorteren GridView op basis van de inhoud van een specifieke kolom.
Opmerking
De knoppen die worden gebruikt voor kolomkoppen met GridView zijn afgeleid van ButtonBase.
In de volgende afbeelding ziet u een GridView weergave van ListView inhoud.
GridView kolommen worden vertegenwoordigd door GridViewColumn objecten, die automatisch de grootte van hun inhoud kunnen bepalen. Optioneel kunt u expliciet GridViewColumn op een specifieke breedte instellen. U kunt het formaat van kolommen wijzigen door de greep tussen kolomkoppen te slepen. U kunt ook kolommen dynamisch toevoegen, verwijderen, vervangen en opnieuw ordenen, omdat deze functionaliteit is ingebouwd.GridView De gegevens die GridView worden weergegeven, kunnen echter niet rechtstreeks worden bijgewerkt.
In het volgende voorbeeld ziet u hoe u een GridView definitie definieert waarmee werknemersgegevens worden weergegeven. In dit voorbeeld definieert ListView de EmployeeInfoDataSource als de ItemsSource. De eigenschapsdefinities van DisplayMemberBinding binden de inhoud van GridViewColumn aan de gegevenscategorieën van 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-indeling en -stijl
De kolomcellen en de kolomkop van een kolom GridViewColumn hebben dezelfde breedte. Standaard wordt de breedte van elke kolom aangepast aan de inhoud. U kunt desgewenst een kolom instellen op een vaste breedte.
Gerelateerde gegevensinhoud wordt weergegeven in horizontale rijen. In de vorige afbeelding worden bijvoorbeeld de achternaam, voornaam en id-nummer van elke werknemer weergegeven als een set omdat deze in een horizontale rij worden weergegeven.
Kolommen definiëren en stylen in een GridView
Wanneer u het gegevensveld definieert dat moet worden weergegeven in een GridViewColumn, gebruikt u de DisplayMemberBinding, CellTemplateof CellTemplateSelector eigenschappen. De DisplayMemberBinding eigenschap heeft voorrang op een van de sjablooneigenschappen.
Als u de uitlijning van inhoud in een kolom van een GridViewwilt opgeven, definieert u een CellTemplate. Gebruik de HorizontalContentAlignment en VerticalContentAlignment eigenschappen niet voor ListView inhoud die wordt weergegeven met behulp van een GridView.
Als u sjabloon- en stijleigenschappen voor kolomkoppen wilt opgeven, gebruikt u de GridView, GridViewColumnen GridViewColumnHeader klassen. Zie Het overzicht van rasterweergavekolomkoppen en sjablonen voor meer informatie.
Visuele elementen toevoegen aan een GridView
Als u visuele elementen, zoals CheckBox en Button besturingselementen, wilt toevoegen aan een GridView weergavemodus, gebruikt u sjablonen of stijlen.
Als u een visueel element expliciet definieert als een gegevensitem, kan dit slechts één keer in een GridViewitem worden weergegeven. Deze beperking bestaat omdat een element slechts één ouder kan hebben en daarom slechts één keer in de visuele boom kan worden weergegeven.
Rijen in een rasterweergave stylen
Gebruik de GridViewRowPresenter en GridViewHeaderRowPresenter klassen om de rijen van een GridViewbestand op te maken en weer te geven. Zie GridView voor een voorbeeld van hoe u rijen kunt stylen in een weergavemodus.
Uitlijningsproblemen bij het gebruik van ItemContainerStyle
Als u uitlijningsproblemen tussen kolomkoppen en cellen wilt voorkomen, moet u geen eigenschap instellen of een sjabloon opgeven die van invloed is op de breedte van een item in een ItemContainerStyle. Stel bijvoorbeeld de Margin-eigenschap niet in en specificeer geen ControlTemplate waarmee een CheckBox wordt toegevoegd aan een ItemContainerStyle-besturingselement dat op een ListView-controle is gedefinieerd. Geef in plaats daarvan de eigenschappen en sjablonen op die rechtstreeks van invloed zijn op de kolombreedte op klassen die een GridView weergavemodus definiëren.
Als u bijvoorbeeld een CheckBox waarde wilt toevoegen aan de rijen in GridView de weergavemodus, voegt u de CheckBox aan een DataTemplatetoe en stelt u de CellTemplate eigenschap vervolgens in op die DataTemplate.
Gebruikersinteracties met een GridView
Wanneer u een GridView in uw toepassing gebruikt, kunnen gebruikers de opmaak van de GridView wijzigen. Gebruikers kunnen bijvoorbeeld de volgorde van kolommen wijzigen, het formaat van een kolom wijzigen, items in een tabel selecteren en door inhoud bladeren. U kunt ook een gebeurtenis-handler definiëren die reageert wanneer een gebruiker op de knop kolomkop klikt. De event handler kan bewerkingen uitvoeren, zoals het sorteren van de gegevens die in de GridView worden weergegeven op basis van de inhoud van een kolom.
De volgende lijst bevat gedetailleerdere informatie over de mogelijkheden van het gebruik GridView voor gebruikersinteractie:
Kolommen opnieuw ordenen met behulp van de methode slepen en neerzetten.
Gebruikers kunnen de volgorde van kolommen in een GridView kolom wijzigen door op de linkermuisknop te drukken terwijl deze zich boven een kolomkop bevindt en die kolom vervolgens naar een nieuwe positie te slepen. Terwijl de gebruiker de kolomkop sleept, wordt een zwevende versie van de koptekst weergegeven, evenals een ononderbroken zwarte lijn die laat zien waar de kolom moet worden ingevoegd.
Als u de standaardstijl voor de zwevende versie van een koptekst wilt wijzigen, geeft u een ControlTemplate op voor een GridViewColumnHeader type dat wordt geactiveerd wanneer de Role eigenschap is ingesteld op Floating. Zie Create a Style for a Dragged GridView Column Header (Een stijl maken voor de kolomkop van een gesleepte GridView) voor meer informatie.
Pas de grootte van een kolom aan aan de inhoud.
Gebruikers kunnen dubbelklikken op de greep rechts van een kolomkop om het formaat van een kolom aan te passen aan de inhoud.
Opmerking
U kunt de Width eigenschap instellen op
Double.NaNom hetzelfde effect te bereiken.Selecteer rij-elementen.
Gebruikers kunnen een of meer items selecteren in een GridView.
Zie Style u het geselecteerde item wilt wijzigen.
Schuif om inhoud weer te geven die in eerste instantie niet zichtbaar is op het scherm.
Als de grootte van de GridView niet groot genoeg is om alle items weer te geven, kunnen gebruikers horizontaal of verticaal schuiven met behulp van schuifbalken, die worden geleverd door een ScrollViewer component. A ScrollBar is verborgen als alle inhoud zichtbaar is in een specifieke richting. Kolomkoppen schuiven niet met een verticale schuifbalk, maar schuiven horizontaal.
Interactie met kolommen door op de knoppen voor de kolomkop te klikken.
Wanneer gebruikers op een kolomkopknop klikken, kunnen ze de gegevens sorteren die in de kolom worden weergegeven als u een sorteeralgoritmen hebt opgegeven.
U kunt de Click gebeurtenis voor kolomkopknoppen afhandelen om functionaliteit te bieden zoals een sorteeralgoritme. Als u de Click gebeurtenis voor één kolomkop wilt afhandelen, stelt u een gebeurtenis-handler in op de GridViewColumnHeader. Als u een gebeurtenis-handler wilt instellen die de Click gebeurtenis voor alle kolomkoppen verwerkt, stelt u de handler in op het ListView besturingselement.
Andere aangepaste weergaven verkrijgen
De GridView klasse, die is afgeleid van de ViewBase abstracte klasse, is slechts een van de mogelijke weergavemodi voor de ListView klasse. U kunt andere aangepaste weergaven ListView maken door deze af te leiden van de ViewBase klasse. Zie Een aangepaste weergavemodus maken voor een ListView voor een voorbeeld van een aangepaste weergavemodus.
GridView Ondersteunende Klassen
De volgende klassen ondersteunen de GridView weergavemodus.
Stijlen en sjablonen
U kunt het uiterlijk van GridView kolomkoppen aanpassen door hun stijlen en sjablonen te wijzigen. In deze sectie wordt de prioriteitsvolgorde besproken voor eigenschappen die u gebruikt om een kolomkop aan te passen in de GridView weergavemodus van een ListView controle. Zie Wat zijn stijlen en sjablonen voor meer informatie en hoe u een sjabloon voor een besturingselement maakt.
Een kolomkop aanpassen in een GridView
De eigenschappen waarmee de inhoud, indeling en stijl van een kolomkop in een GridView kolom worden gedefinieerd, vindt u in veel gerelateerde klassen. Sommige van deze eigenschappen hebben functionaliteit die vergelijkbaar of hetzelfde is.
De rijen in de volgende tabel bevatten groepen eigenschappen die dezelfde functie uitvoeren. U kunt deze eigenschappen gebruiken om de kolomkoppen in een GridView aan te passen. De volgorde van prioriteit voor gerelateerde eigenschappen is van rechts naar links, waarbij de eigenschap in de meest uiterst rechtse kolom de hoogste prioriteit heeft. Als bijvoorbeeld een ContentTemplate is ingesteld op het GridViewColumnHeader object en het HeaderTemplateSelector is ingesteld op de bijbehorende GridViewColumn, dan heeft de ContentTemplate prioriteit. In dit scenario heeft dit HeaderTemplateSelector geen effect.
Gerelateerde eigenschappen voor kolomkoppen in een GridView
| GridView | GridViewColumn | GridViewColumnHeader | |
|---|---|---|---|
| Eigenschappen van contextmenu | ColumnHeaderContextMenu | Niet van toepassing | ContextMenu |
|
Tooltip Eigenschappen |
ColumnHeaderToolTip | Niet van toepassing | ToolTip |
|
Koptekstsjabloon Eigenschappen |
ColumnHeaderTemplate
1/ ColumnHeaderTemplateSelector |
HeaderTemplate
1/ HeaderTemplateSelector |
ContentTemplate
1/ ContentTemplateSelector |
| Stijleigenschappen | ColumnHeaderContainerStyle | HeaderContainerStyle | Style |
1Als u zowel de eigenschappen van de sjabloon als de sjabloonkiezer instelt, heeft de sjablooneigenschap voorrang. Als u bijvoorbeeld zowel de eigenschappen ContentTemplate en ContentTemplateSelector instelt, heeft de eigenschap ContentTemplate voorrang.
Zie ook
.NET Desktop feedback