通过


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.

具有 GridView 输出 ListView 的 ListView 和

列中 GridView 的列定义为 GridViewColumn 对象。 在可扩展应用程序标记语言(XAML)中,可以将对象定义为 GridViewColumn 对象的 GridView子元素。 在代码中,可以使用为类定义的属性和Add方法来ColumnsGridView添加 aGridViewColumnCollection<T> 同样,可以使用其他 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模板或样式,请使用模板或样式。 有关示例,请参阅 How to: Create ListViewItems with a CheckBox.

构造函数

名称 说明
GridView()

初始化 GridView 类的新实例。

字段

名称 说明
AllowsColumnReorderProperty

标识 AllowsColumnReorder 依赖属性。

ColumnCollectionProperty

标识 ColumnCollectionProperty attachedproperty。

ColumnHeaderContainerStyleProperty

标识 ColumnHeaderContainerStyle 依赖属性。

ColumnHeaderContextMenuProperty

标识 ColumnHeaderContextMenu 依赖属性。

ColumnHeaderStringFormatProperty

标识 ColumnHeaderStringFormat 依赖属性。

ColumnHeaderTemplateProperty

标识 ColumnHeaderTemplate 依赖属性。

ColumnHeaderTemplateSelectorProperty

标识 ColumnHeaderTemplateSelector 依赖属性。

ColumnHeaderToolTipProperty

标识 ColumnHeaderToolTip 依赖属性。

属性

名称 说明
AllowsColumnReorder

获取或设置是否可以通过拖放操作对列中 GridView 的列重新排序。

ColumnHeaderContainerStyle

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

ColumnHeaderContextMenu

获取或设置一GridViewContextMenu用于 .

ColumnHeaderStringFormat

获取或设置一个复合字符串,该字符串指定如何设置列标题 GridView 的格式(如果它们显示为字符串)。

ColumnHeaderTemplate

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

ColumnHeaderTemplateSelector

获取或设置选择器对象,该对象提供用于选择要用于每个列标题的模板的逻辑。

ColumnHeaderToolTip

获取或设置鼠标指针在列标题之一上暂停时出现的工具提示的内容。

Columns

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

DefaultStyleKey

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

DependencyObjectType

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

(继承自 DependencyObject)
Dispatcher

获取与此DispatcherDispatcherObject关联的值。

(继承自 DispatcherObject)
GridViewItemContainerStyleKey

获取引用为其中GridView每个ListViewItem项定义的样式的键。

GridViewScrollViewerStyleKey

获取引用为控件定义的样式的 ScrollViewer 键,该控件包含由 a GridView.

GridViewStyleKey

获取引用为 .. 定义的样式的 GridView键。

IsSealed

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

(继承自 DependencyObject)
ItemContainerDefaultStyleKey

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

附加属性

名称 说明
ColumnCollection

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

方法

名称 说明
AddChild(Object)

GridViewColumn 对象添加到 GridView.

AddText(String)

不支持。

CheckAccess()

确定调用线程是否有权访问此 DispatcherObject权限。

(继承自 DispatcherObject)
ClearItem(ListViewItem)

/> 中删除所有设置、绑定和样式设置。

ClearValue(DependencyProperty)

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

(继承自 DependencyObject)
ClearValue(DependencyPropertyKey)

清除只读属性的本地值。 要清除的属性由一个 DependencyPropertyKey.

(继承自 DependencyObject)
CoerceValue(DependencyProperty)

强制指定依赖属性的值。 这是通过调用中调用依赖属性CoerceValueCallback的属性元数据中指定的任何DependencyObject函数来实现的。

(继承自 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)

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

适用于

另请参阅