Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GridView Der Ansichtsmodus ist einer der Ansichtsmodi für ein ListView Steuerelement. Mit der GridView Klasse und den unterstützenden Klassen können Sie und Ihre Benutzer Elementsammlungen in einer Tabelle anzeigen, die in der Regel Schaltflächen als interaktive Spaltenüberschriften verwendet. In diesem Thema wird die GridView Klasse vorgestellt und die Verwendung beschrieben.
Was ist eine GridView-Ansicht?
Im GridView Ansichtsmodus wird eine Liste von Datenelementen angezeigt, indem Datenfelder an Spalten gebunden werden und eine Spaltenüberschrift zum Identifizieren des Felds angezeigt wird. Die Standardformatvorlage GridView implementiert Schaltflächen als Spaltenüberschriften. Mithilfe von Schaltflächen für Spaltenüberschriften können Sie wichtige Benutzerinteraktionsfunktionen implementieren. Beispielsweise können Benutzer auf die Spaltenüberschrift klicken, um Daten nach dem Inhalt einer bestimmten Spalte zu sortieren GridView .
Hinweis
Die von GridView verwendeten Schaltflächen für Spaltenüberschriften werden aus ButtonBase abgeleitet.
Die folgende Abbildung zeigt eine GridView Ansicht des ListView Inhalts.
GridView Spalten sind durch GridViewColumn Objekte dargestellt, die sich automatisch an ihre Inhalte anpassen können. Optional können Sie eine GridViewColumn explizit auf eine bestimmte Breite festlegen. Sie können die Größe von Spalten ändern, indem Sie den Schieberegler zwischen den Spaltenüberschriften ziehen. Sie können Spalten auch dynamisch hinzufügen, entfernen, ersetzen und neu anordnen, da diese Funktionalität integriert GridViewist. GridView Die angezeigten Daten können jedoch nicht direkt aktualisiert werden.
Das folgende Beispiel zeigt, wie Sie ein GridView definieren, das Mitarbeiterdaten anzeigt. In diesem Beispiel definiert ListView die EmployeeInfoDataSource
-Eigenschaft als ItemsSource. Die Definitionen der Eigenschaften binden die Inhalte von DisplayMemberBinding an die Datenkategorien von GridViewColumn durch 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>
Die folgende Abbildung zeigt die Tabelle, die im vorherigen Beispiel erstellt wird. Das GridView-Steuerelement zeigt Daten aus einem ItemsSource-Objekt an:
GridView-Layout und -Format
Die Spaltenzellen und die Spaltenüberschrift einer GridViewColumn Spalte weisen die gleiche Breite auf. Standardmäßig wird für jede Spalte die Breite so angepasst, dass sie an den Inhalt angepasst wird. Optional können Sie eine Spalte auf eine feste Breite festlegen.
Verwandte Dateninhalte werden in horizontalen Zeilen angezeigt. In der vorherigen Abbildung werden beispielsweise der Nachname, vorname und die ID-Nummer jedes Mitarbeiters als Satz angezeigt, da sie in einer horizontalen Zeile angezeigt werden.
Definieren und Formatieren von Spalten in einer GridView
Verwenden Sie beim Definieren des Datenfelds, das in einem GridViewColumn angezeigt werden soll, die Eigenschaften DisplayMemberBinding, CellTemplate oder CellTemplateSelector. Die DisplayMemberBinding Eigenschaft hat Vorrang vor einer der Vorlageneigenschaften.
Um die Ausrichtung des Inhalts in einer Spalte eines GridView festzulegen, definieren Sie ein CellTemplate. Verwenden Sie nicht die HorizontalContentAlignment und VerticalContentAlignment Eigenschaften für ListView Inhalte, die mit einer GridView angezeigt werden.
Um Vorlagen- und Stil-Eigenschaften für Spaltenüberschriften anzugeben, verwenden Sie die Klassen GridView, GridViewColumn, und GridViewColumnHeader. Weitere Informationen finden Sie unter GridView Column Header Styles and Templates Overview.
Hinzufügen von visuellen Elementen zu einer GridView
Wenn Sie einem CheckBox Ansichtsmodus visuelle Elemente hinzufügen möchten, z. B. Button und GridView Steuerelemente, verwenden Sie Vorlagen oder Stile.
Wenn Sie ein visuelles Element explizit als Datenelement definieren, kann es nur einmal in einem GridViewElement angezeigt werden. Diese Einschränkung existiert, weil ein Element nur ein Elternteil haben kann und daher nur einmal im visuellen Baum erscheinen kann.
Formatieren von Zeilen in einer GridView
Verwenden Sie die GridViewRowPresenter- und GridViewHeaderRowPresenter-Klassen, um die Zeilen eines GridView zu formatieren und anzuzeigen. Ein Beispiel zum Formatieren von Zeilen in einem GridView Ansichtsmodus finden Sie unter "Formatieren einer Zeile in einer ListView", die eine GridView implementiert.
Ausrichtungsprobleme bei Verwendung von ItemContainerStyle
Um Ausrichtungsprobleme zwischen Spaltenüberschriften und Zellen zu verhindern, legen Sie keine Eigenschaft fest, oder geben Sie eine Vorlage an, die sich auf die Breite eines Elements in einem ItemContainerStyleElement auswirkt. Geben Sie beispielsweise nicht die Margin Eigenschaft an oder spezifizieren Sie einen ControlTemplate, der ein CheckBox zu einem ItemContainerStyle hinzufügt, das auf einem ListView-Steuerelement definiert ist. Geben Sie stattdessen die Eigenschaften und Vorlagen an, die sich auf die Spaltenbreite direkt auf Klassen auswirken, die einen GridView Ansichtsmodus definieren.
Wenn Sie z. B. den Zeilen im CheckBox Ansichtsmodus ein GridView hinzufügen möchten, fügen Sie den CheckBox zu einem DataTemplate hinzu, und legen Sie dann die CellTemplate Eigenschaft auf diese DataTemplate fest.
Benutzerinteraktionen mit einer GridView
Wenn Sie ein GridView in Ihrer Anwendung verwenden, können Benutzer mit der Formatierung des GridView interagieren und sie ändern. Beispielsweise können Benutzer Spalten neu anordnen, die Größe einer Spalte ändern, Elemente in einer Tabelle auswählen und durch Inhalte scrollen. Sie können auch einen Ereignishandler definieren, der reagiert, wenn ein Benutzer auf die Spaltenüberschriftschaltfläche klickt. Der Ereignishandler kann Vorgänge wie das Sortieren der Daten ausführen, die gemäß dem GridView Inhalt einer Spalte angezeigt werden.
In der folgenden Liste werden die Funktionen der Verwendung GridView für Benutzerinteraktionen ausführlicher erläutert:
Ordnen Sie Spalten mithilfe der Drag-and-Drop-Methode neu an.
Benutzer können Spalten in einer GridView neu anordnen, indem Sie die linke Maustaste drücken, während sie sich über einer Spaltenüberschrift befindet, und diese Spalte dann an eine neue Position ziehen. Während der Benutzer die Spaltenüberschrift zieht, wird eine schwebende Version der Kopfzeile sowie eine durchgezogene schwarze Linie angezeigt, die zeigt, wo die Spalte eingefügt werden soll.
Wenn Sie den Standardstil für die schwebende Version eines Headers ändern möchten, geben Sie ein ControlTemplate für einen GridViewColumnHeader-Typ an, der ausgelöst wird, wenn die Role-Eigenschaft auf Floating festgelegt ist. Weitere Informationen finden Sie unter Erstellen einer Formatvorlage für eine gezogene GridView-Spaltenüberschrift.
Ändern Sie die Größe einer Spalte entsprechend ihrem Inhalt.
Benutzer können auf das Ziehelement rechts neben einer Spaltenüberschrift doppelklicken, um die Größe einer Spalte an den Inhalt anzupassen.
Hinweis
Sie können die Width Eigenschaft auf
Double.NaN
festlegen, um denselben Effekt zu erzielen.Wählen Sie Zeilenelemente aus.
Benutzer können ein oder mehrere Elemente in einem GridView auswählen.
Wenn Sie das Style eines ausgewählten Elements ändern möchten, siehe Verwenden von Auslösern zum Formatieren ausgewählter Elemente in einer ListView.
Scrollen Sie, um Inhalte anzuzeigen, die anfänglich nicht auf dem Bildschirm sichtbar sind.
Wenn die Größe des GridView nicht groß genug ist, um alle Elemente anzuzeigen, können Benutzer horizontal oder vertikal scrollen, indem sie Bildlaufleisten verwenden, die von einem ScrollViewer Steuerelement bereitgestellt werden. Ein ScrollBar ist ausgeblendet, wenn der gesamte Inhalt in eine bestimmte Richtung sichtbar gemacht wird. Spaltenüberschriften scrollen nicht vertikal, sondern nur horizontal.
Interagieren Sie mit Spalten, indem Sie auf die Spaltenüberschriftenschaltflächen klicken.
Wenn Benutzer auf eine Spaltenüberschriftschaltfläche klicken, können sie die Daten sortieren, die in der Spalte angezeigt werden, wenn Sie einen Sortieralgorithmus bereitgestellt haben.
Sie können das Click Ereignis für Spaltenüberschriftenschaltflächen behandeln, um Funktionen wie einen Sortieralgorithmus bereitzustellen. Um das Click-Ereignis für eine einzelne Spaltenüberschrift zu behandeln, setzen Sie einen Ereignishandler auf GridViewColumnHeader. Um einen Ereignishandler festzulegen, der das Click Ereignis für alle Spaltenüberschriften behandelt, legen Sie den Handler für das ListView Steuerelement fest.
Abrufen anderer benutzerdefinierter Ansichten
Die GridView Klasse, die von der ViewBase abstrakten Klasse abgeleitet wird, ist nur einer der möglichen Ansichtsmodi für die ListView Klasse. Sie können andere benutzerdefinierte Ansichten für ListView erstellen, indem Sie die ViewBase-Klasse ableiten. Ein Beispiel für einen benutzerdefinierten Ansichtsmodus finden Sie unter Erstellen eines benutzerdefinierten Ansichtsmodus für eine ListView.
GridView-unterstützende Klassen
Die folgenden Klassen unterstützen den Ansichtsmodus GridView .
Siehe auch
.NET Desktop feedback