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 的自訂檢視模式

下圖顯示使用 的 ListViewGridView 範例。

使用 GridView 輸出

中的資料行 GridView 會定義為 GridViewColumn 物件。 在 Extensible Application Markup Language (XAML) 中,您可以將 物件定義為 GridViewColumnGridView 子項目。 在程式碼中,您可以使用 為 類別定義的 屬性和 方法,將 加入 GridViewColumnGridViewColumnsAddCollection<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 列樣式,請在 中定義 控制項的 ListView 樣式 ListViewItem

若要將或 Button 控制項等 CheckBox 視覺元素加入至 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)

將節點的文字內容加入物件中。

適用於

另請參閱