GridView 类

定义

表示 ListView 控件的以列形式显示数据项的视图模式。

public ref class GridView : System::Windows::Controls::ViewBase, System::Windows::Markup::IAddChild
[System.Windows.Markup.ContentProperty("Columns")]
[System.Windows.StyleTypedProperty(Property="ColumnHeaderContainerStyle", StyleTargetType=typeof(System.Windows.Controls.GridViewColumnHeader))]
public class GridView : System.Windows.Controls.ViewBase, System.Windows.Markup.IAddChild
[<System.Windows.Markup.ContentProperty("Columns")>]
[<System.Windows.StyleTypedProperty(Property="ColumnHeaderContainerStyle", StyleTargetType=typeof(System.Windows.Controls.GridViewColumnHeader))>]
type GridView = class
    inherit ViewBase
    interface IAddChild
Public Class GridView
Inherits ViewBase
Implements IAddChild
继承
属性
实现

示例

以下示例演示如何定义实现 ListView 的 控件 GridView 作为其 View

  <ListView ItemsSource="{Binding Source={StaticResource EmployeeData}, 
                         XPath=Employee}">
  <ListView.View>
    <GridView>
      <GridViewColumn Header="First Name" 
                      DisplayMemberBinding="{Binding XPath=FirstName}" />
      <GridViewColumn Header="Last Name" 
                      DisplayMemberBinding="{Binding XPath=LastName}" />
      <GridViewColumn Header="Favorite City"
                      DisplayMemberBinding="{Binding XPath=FavoriteCity}"/>
    </GridView>
  </ListView.View>
</ListView>

注解

GridView 及其支持类提供基础结构,用于在一系列列中显示为 ListView 控件指定的数据项。 列具有列标题,这些标题是派生自 ButtonBase的按钮,可以使用拖放操作对列重新排序。 请注意,显示数据的列 GridView 不提供对数据源的直接访问。

若要指定 GridView 作为 的 ListView视图模式,请将 View 属性设置为 GridView 对象。

GridView 派生自 ViewBase。 可以通过从 ViewBase 提供视图支持元素的 类继承来定义自定义视图。 有关详细信息,请参阅 如何:为 ListView 创建自定义视图模式

下图显示了 ListView 使用 GridView的示例。

ListView 与 GridView 输出

中的 GridView 列定义为 GridViewColumn 对象。 在可扩展应用程序标记语言 (XAML) 中,可以将 对象定义为 GridViewColumnGridView子元素。 在代码中,可以使用 为 类定义的 属性和 Add 方法将 添加到 。Collection<T>GridViewColumnGridViewColumns 同样,可以使用其他 Collection<T> 方法(如 RemoveInsert )修改 中的 GridView列。

以下示例演示如何定义 的 GridView列。


GridView myGridView = new GridView();
myGridView.AllowsColumnReorder = true; 
myGridView.ColumnHeaderToolTip = "Employee Information";

GridViewColumn gvc1 = new GridViewColumn();
gvc1.DisplayMemberBinding = new Binding("FirstName");
gvc1.Header = "FirstName";
gvc1.Width = 100;
myGridView.Columns.Add(gvc1);
GridViewColumn gvc2 = new GridViewColumn();
gvc2.DisplayMemberBinding = new Binding("LastName");
gvc2.Header = "Last Name";
gvc2.Width = 100;
myGridView.Columns.Add(gvc2);
GridViewColumn gvc3 = new GridViewColumn();
gvc3.DisplayMemberBinding = new Binding("EmployeeNumber");
gvc3.Header = "Employee No.";
gvc3.Width = 100;
myGridView.Columns.Add(gvc3);

Dim myGridView As New GridView()
myGridView.AllowsColumnReorder = True
myGridView.ColumnHeaderToolTip = "Employee Information"

Dim gvc1 As New GridViewColumn()
gvc1.DisplayMemberBinding = New Binding("FirstName")
gvc1.Header = "FirstName"
gvc1.Width = 100
myGridView.Columns.Add(gvc1)
Dim gvc2 As New GridViewColumn()
gvc2.DisplayMemberBinding = New Binding("LastName")
gvc2.Header = "Last Name"
gvc2.Width = 100
myGridView.Columns.Add(gvc2)
Dim gvc3 As New GridViewColumn()
gvc3.DisplayMemberBinding = New Binding("EmployeeNumber")
gvc3.Header = "Employee No."
gvc3.Width = 100
myGridView.Columns.Add(gvc3)

<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>

若要设置 中的行的 GridView样式,请在 中定义 ListViewItem 控件的 ListView样式。

若要将可视元素(如 CheckBoxButton 控件)添加到 GridView,请使用模板或样式。 有关示例,请参阅 如何:使用 CheckBox 创建 ListViewItems

构造函数

GridView()

初始化 GridView 类的新实例。

字段

AllowsColumnReorderProperty

标识 AllowsColumnReorder 依赖项属性。

ColumnCollectionProperty

标识 ColumnCollectionProperty 附加属性。

ColumnHeaderContainerStyleProperty

标识 ColumnHeaderContainerStyle 依赖项属性。

ColumnHeaderContextMenuProperty

标识 ColumnHeaderContextMenu 依赖项属性。

ColumnHeaderStringFormatProperty

标识 ColumnHeaderStringFormat 依赖项属性。

ColumnHeaderTemplateProperty

标识 ColumnHeaderTemplate 依赖项属性。

ColumnHeaderTemplateSelectorProperty

标识 ColumnHeaderTemplateSelector 依赖项属性。

ColumnHeaderToolTipProperty

标识 ColumnHeaderToolTip 依赖项属性。

属性

AllowsColumnReorder

获取或设置一个值,该值指示 GridView 中的列是否可以通过拖放操作重新排序。

ColumnHeaderContainerStyle

获取或设置要应用于列标题的样式。

ColumnHeaderContextMenu

获取或设置 ContextMenuGridView

ColumnHeaderStringFormat

获取或设置一个撰写字符串,该字符串指定如果 GridView 的列标题显示为字符串,应如何设置这些列标题的格式。

ColumnHeaderTemplate

获取或设置用于显示列标题的模板。

ColumnHeaderTemplateSelector

获取或设置为选择每个列标题所使用的模板提供逻辑的选择器对象。

ColumnHeaderToolTip

获取或设置当鼠标指针悬停在某个列标题上时显示的工具提示的内容。

Columns

获取为此 GridViewColumn 定义的 GridView 对象的集合。

DefaultStyleKey

获取 GridView 的默认样式的引用。

DependencyObjectType

DependencyObjectType获取包装此实例的 CLR 类型的 。

(继承自 DependencyObject)
Dispatcher

获取与此 Dispatcher 关联的 DispatcherObject

(继承自 DispatcherObject)
GridViewItemContainerStyleKey

获取一个键,该键引用为 ListViewItem 中的每个 GridView 定义的样式。

GridViewScrollViewerStyleKey

获取一个键,该键引用为 ScrollViewer 控件(该控件包含 GridView 显示的内容)定义的样式。

GridViewStyleKey

获取一个键,该键引用为 GridView 定义的样式。

IsSealed

获取一个值,该值指示此实例当前是否为密封的(只读)。

(继承自 DependencyObject)
ItemContainerDefaultStyleKey

获取对 GridView 中数据项的容器的默认样式的引用。

附加属性

ColumnCollection

获取或设置包含 GridViewColumnCollection 的附加属性。

方法

AddChild(Object)

GridViewColumn 中添加一个 GridView 对象。

AddText(String)

不支持。

CheckAccess()

确定调用线程是否可以访问此 DispatcherObject

(继承自 DispatcherObject)
ClearItem(ListViewItem)

ListViewItem 中移除所有设置、绑定和样式。

ClearValue(DependencyProperty)

清除属性的本地值。 要清除的属性由 DependencyProperty 标识符指定。

(继承自 DependencyObject)
ClearValue(DependencyPropertyKey)

清除只读属性的本地值。 要清除的属性由 DependencyPropertyKey 指定。

(继承自 DependencyObject)
CoerceValue(DependencyProperty)

对指定依赖属性的值进行强制。 通过对调用方 DependencyObject 上存在的依赖属性的属性元数据中所指定的任何 CoerceValueCallback 函数进行调用来完成此操作。

(继承自 DependencyObject)
Equals(Object)

确定提供的 DependencyObject 是否等效于当前 DependencyObject

(继承自 DependencyObject)
GetAutomationPeer(ListView)

获取此 AutomationPeer 对象的 GridView 实现。

GetColumnCollection(DependencyObject)

获取 ColumnCollection 附加属性的内容。

GetHashCode()

获取此 DependencyObject 的哈希代码。

(继承自 DependencyObject)
GetLocalValueEnumerator()

创建一个专用的枚举数,用于确定哪些依赖项属性在此 DependencyObject 上具有以本地方式设置的值。

(继承自 DependencyObject)
GetType()

获取当前实例的 Type

(继承自 Object)
GetValue(DependencyProperty)

DependencyObject 的此实例返回依赖属性的当前有效值。

(继承自 DependencyObject)
InvalidateProperty(DependencyProperty)

重新评估指定依赖属性的有效值。

(继承自 DependencyObject)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

每当更新此 DependencyObject 的任何依赖属性的有效值时调用。 更改的特定依赖属性将在事件数据中报告。

(继承自 DependencyObject)
PrepareItem(ListViewItem)

准备 ListViewItem 以便按照此 GridView 对象的定义进行显示。

ReadLocalValue(DependencyProperty)

如果存在,则返回依赖属性的本地值。

(继承自 DependencyObject)
SetColumnCollection(DependencyObject, GridViewColumnCollection)

设置 ColumnCollection 附加属性的内容。

SetCurrentValue(DependencyProperty, Object)

设置依赖属性的值而不更改其值源。

(继承自 DependencyObject)
SetValue(DependencyProperty, Object)

设置依赖属性的本地值,该值由其依赖属性标识符指定。

(继承自 DependencyObject)
SetValue(DependencyPropertyKey, Object)

设置一个只读依赖属性的本地值,该值由依赖属性的 DependencyPropertyKey 标识符指定。

(继承自 DependencyObject)
ShouldSerializeColumnCollection(DependencyObject)

确定是否序列化 ColumnCollection 附加属性。

ShouldSerializeProperty(DependencyProperty)

返回一个值,该值指示序列化进程是否应序列化所提供的依赖属性的值。

(继承自 DependencyObject)
ToString()

返回 GridView 对象的字符串表示形式。

VerifyAccess()

强制调用线程具有此 DispatcherObject 的访问权限。

(继承自 DispatcherObject)

显式接口实现

IAddChild.AddChild(Object)

添加子对象。

IAddChild.AddText(String)

将节点的文本内容添加到对象。

适用于

另请参阅