DataGridTemplateColumn DataGridTemplateColumn DataGridTemplateColumn DataGridTemplateColumn Class

定義

表示將樣板指定的內容裝載於其儲存格中的 DataGrid 資料行。Represents a DataGrid column that hosts template-specified content in its cells.

public ref class DataGridTemplateColumn : System::Windows::Controls::DataGridColumn
public class DataGridTemplateColumn : System.Windows.Controls.DataGridColumn
type DataGridTemplateColumn = class
    inherit DataGridColumn
Public Class DataGridTemplateColumn
Inherits DataGridColumn
繼承

範例

下列範例將示範如何建立 DataGridTemplateColumnThe following example shows how to create a DataGridTemplateColumn.

<Grid>
    <Grid.Resources>
        <!--DataTemplate for Published Date column defined in Grid.Resources.  PublishDate is a property on the ItemsSource of type DateTime -->
        <DataTemplate x:Key="DateTemplate" >
            <StackPanel Width="20" Height="30">
                <Border Background="LightBlue" BorderBrush="Black" BorderThickness="1">
                    <TextBlock Text="{Binding PublishDate, StringFormat={}{0:MMM}}" FontSize="8" HorizontalAlignment="Center" />
                </Border>
                <Border Background="White" BorderBrush="Black" BorderThickness="1">
                    <TextBlock Text="{Binding PublishDate, StringFormat={}{0:yyyy}}" FontSize="8" FontWeight="Bold" HorizontalAlignment="Center" />
                </Border>
            </StackPanel>
        </DataTemplate>
        <!--DataTemplate for the Published Date column when in edit mode. -->
        <DataTemplate x:Key="EditingDateTemplate">
            <DatePicker SelectedDate="{Binding PublishDate}"  />
        </DataTemplate>
    </Grid.Resources>
    <DataGrid Name="DG1" ItemsSource="{Binding}" AutoGenerateColumns="False" >
        <DataGrid.Columns>
            <!--Custom column that shows the published date-->
            <DataGridTemplateColumn Header="Publish Date" CellTemplate="{StaticResource DateTemplate}" CellEditingTemplate="{StaticResource EditingDateTemplate}" />
        </DataGrid.Columns>
    </DataGrid>
</Grid>

下圖顯示上一個 XAML 的輸出。The following illustration shows the output from the previous XAML.

使用 DataTemplate 的資料行A column using a DataTemplate

備註

DataGridTemplateColumn類型可讓您藉由指定要在顯示和編輯值時使用的儲存格範本, 來建立自己的資料行類型。The DataGridTemplateColumn type enables you to create your own column types by specifying the cell templates to use when displaying and editing values. 若要指定用來顯示不是編輯模式之儲存格內容的範本, 請設定CellTemplate屬性。To specify the template that is used to display the contents of a cell that is not in editing mode, set the CellTemplate property. 若要指定用來顯示處於編輯模式之儲存格內容的範本, 請設定CellEditingTemplate屬性。To specify the template that is used to display the contents of a cell that is in editing mode, set the CellEditingTemplate property. 如需範本的詳細資訊, 請參閱資料範本化總覽樣式設定和範本化For more information about templates, see Data Templating Overview and Styling and Templating.

為了方便起見DataGrid , 提供下列預先定義的資料行類型:For convenience, DataGrid provides the following pre-defined column types:

資料行型別Column Type 資料顯示Data Display
DataGridHyperlinkColumn 用來顯示 URI 資料。Use to display URI data.
DataGridComboBoxColumn 用來顯示列舉資料。Use to display enumeration data.
DataGridTextColumn 用來顯示文字。Use to display text.
DataGridCheckBoxColumn 用來顯示布林資料。Use to display Boolean data.

建構函式

DataGridTemplateColumn() DataGridTemplateColumn() DataGridTemplateColumn() DataGridTemplateColumn()

初始化 DataGridTemplateColumn 類別的新執行個體。Initializes a new instance of the DataGridTemplateColumn class.

欄位

CellEditingTemplateProperty CellEditingTemplateProperty CellEditingTemplateProperty CellEditingTemplateProperty

識別 CellEditingTemplate 相依性屬性。Identifies the CellEditingTemplate dependency property.

CellEditingTemplateSelectorProperty CellEditingTemplateSelectorProperty CellEditingTemplateSelectorProperty CellEditingTemplateSelectorProperty

識別 CellEditingTemplateSelector 相依性屬性。Identifies the CellEditingTemplateSelector dependency property.

CellTemplateProperty CellTemplateProperty CellTemplateProperty CellTemplateProperty

識別 CellTemplate 相依性屬性。Identifies the CellTemplate dependency property.

CellTemplateSelectorProperty CellTemplateSelectorProperty CellTemplateSelectorProperty CellTemplateSelectorProperty

識別 CellEditingTemplateSelector 相依性屬性。Identifies the CellEditingTemplateSelector dependency property.

屬性

ActualWidth ActualWidth ActualWidth ActualWidth

取得資料行的目前寬度 (以 裝置獨立單位 (每單位 1/96 英吋)device-independent units (1/96th inch per unit) 為單位)。Gets the current width of the column, in 裝置獨立單位 (每單位 1/96 英吋)device-independent units (1/96th inch per unit).

(Inherited from DataGridColumn)
CanUserReorder CanUserReorder CanUserReorder CanUserReorder

取得或設定值,該值指出使用者是否可藉由拖曳欄標題來變更欄顯示位置。Gets or sets a value that indicates whether the user can change the column display position by dragging the column header.

(Inherited from DataGridColumn)
CanUserResize CanUserResize CanUserResize CanUserResize

取得或設定值,這個值表示使用者是否可以使用滑鼠來調整資料行寬度。Gets or sets a value that indicates whether the user can adjust the column width by using the mouse.

(Inherited from DataGridColumn)
CanUserSort CanUserSort CanUserSort CanUserSort

取得或設定值,該值指出使用者是否可藉由按一下欄標題來排序欄。Gets or sets a value that indicates whether the user can sort the column by clicking the column header.

(Inherited from DataGridColumn)
CellEditingTemplate CellEditingTemplate CellEditingTemplate CellEditingTemplate

取得或設定範本,這個範本要用來顯示編輯模式下之儲存格的內容。Gets or sets the template to use to display the contents of a cell that is in editing mode.

CellEditingTemplateSelector CellEditingTemplateSelector CellEditingTemplateSelector CellEditingTemplateSelector

取得或設定物件,以決定用來顯示處於編輯模式之儲存格內容的範本。Gets or sets the object that determines which template to use to display the contents of a cell that is in editing mode.

CellStyle CellStyle CellStyle CellStyle

取得或設定用於呈現資料行中儲存格的樣式。Gets or sets the style that is used to render cells in the column.

(Inherited from DataGridColumn)
CellTemplate CellTemplate CellTemplate CellTemplate

取得或設定範本,以用來顯示不是處於編輯模式之儲存格的內容。Gets or sets the template to use to display the contents of a cell that is not in editing mode.

CellTemplateSelector CellTemplateSelector CellTemplateSelector CellTemplateSelector

取得或設定物件,以決定用來顯示不是處於編輯模式之儲存格內容的範本。Gets or sets the object that determines which template to use to display the contents of a cell that is not in editing mode.

ClipboardContentBinding ClipboardContentBinding ClipboardContentBinding ClipboardContentBinding

取得或設定當取得或設定剪貼簿的儲存格內容時,要使用的繫結物件。Gets or sets the binding object to use when getting or setting cell content for the clipboard.

(Inherited from DataGridColumn)
DataGridOwner DataGridOwner DataGridOwner DataGridOwner

取得包含此資料行的 DataGrid 控制項。Gets the DataGrid control that contains this column.

(Inherited from DataGridColumn)
DependencyObjectType DependencyObjectType DependencyObjectType DependencyObjectType

取得包裝此執行個體之 CLRCLR 型別的 DependencyObjectTypeGets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Inherited from DependencyObject)
Dispatcher Dispatcher Dispatcher Dispatcher

取得與這個 Dispatcher 關聯的 DispatcherObjectGets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
DisplayIndex DisplayIndex DisplayIndex DisplayIndex

取得或設定相對於 DataGrid 中之其他資料行的資料行位置。Gets or sets the display position of the column relative to the other columns in the DataGrid.

(Inherited from DataGridColumn)
DragIndicatorStyle DragIndicatorStyle DragIndicatorStyle DragIndicatorStyle

取得或設定在拖曳作業期間要套用至資料行標題的樣式物件。Gets or sets the style object to apply to the column header during a drag operation.

(Inherited from DataGridColumn)
Header Header Header Header

取得或設定欄標題的內容。Gets or sets the content of the column header.

(Inherited from DataGridColumn)
HeaderStringFormat HeaderStringFormat HeaderStringFormat HeaderStringFormat

取得或設定格式模式,以套用到欄標題的內容。Gets or sets the format pattern to apply to the content of the column header.

(Inherited from DataGridColumn)
HeaderStyle HeaderStyle HeaderStyle HeaderStyle

取得或設定呈現欄標題時所用的樣式。Gets or sets the style that is used when rendering the column header.

(Inherited from DataGridColumn)
HeaderTemplate HeaderTemplate HeaderTemplate HeaderTemplate

取得或設定範本,以定義欄標題的視覺表示方式。Gets or sets the template that defines the visual representation of the column header.

(Inherited from DataGridColumn)
HeaderTemplateSelector HeaderTemplateSelector HeaderTemplateSelector HeaderTemplateSelector

取得或設定物件,以選取要用於欄標題的範本。Gets or sets the object that selects which template to use for the column header.

(Inherited from DataGridColumn)
IsAutoGenerated IsAutoGenerated IsAutoGenerated IsAutoGenerated

取得值,這個值會指出資料行是否自動產生。Gets a value that indicates whether the column is auto-generated.

(Inherited from DataGridColumn)
IsFrozen IsFrozen IsFrozen IsFrozen

取得值,這個值會指出資料行是否會避免水平捲動。Gets a value that indicates whether the column is prevented from scrolling horizontally.

(Inherited from DataGridColumn)
IsReadOnly IsReadOnly IsReadOnly IsReadOnly

取得或設定值,該值指出是否可編輯欄中的儲存格。Gets or sets a value that indicates whether cells in the column can be edited.

(Inherited from DataGridColumn)
IsSealed IsSealed IsSealed IsSealed

取得值,這個值表示此執行個體目前是否已密封 (唯讀)。Gets a value that indicates whether this instance is currently sealed (read-only).

(Inherited from DependencyObject)
MaxWidth MaxWidth MaxWidth MaxWidth

取得或設定資料行的最大寬度條件約束。Gets or sets the maximum width constraint of the column.

(Inherited from DataGridColumn)
MinWidth MinWidth MinWidth MinWidth

取得或設定資料行的最小寬度條件約束。Gets or sets the minimum width constraint of the column.

(Inherited from DataGridColumn)
SortDirection SortDirection SortDirection SortDirection

取得或設定欄的排序方向 (遞增或遞減)。Gets or sets the sort direction (ascending or descending) of the column.

(Inherited from DataGridColumn)
SortMemberPath SortMemberPath SortMemberPath SortMemberPath

取得或設定屬性名稱或以句號分隔的屬性名稱階層,要當做排序依據成員。Gets or sets a property name, or a period-delimited hierarchy of property names, that indicates the member to sort by.

(Inherited from DataGridColumn)
Visibility Visibility Visibility Visibility

取得或設定欄的可見性。Gets or sets the visibility of the column.

(Inherited from DataGridColumn)
Width Width Width Width

取得或設定欄寬或自動調整模式。Gets or sets the column width or automatic sizing mode.

(Inherited from DataGridColumn)

方法

CancelCellEdit(FrameworkElement, Object) CancelCellEdit(FrameworkElement, Object) CancelCellEdit(FrameworkElement, Object) CancelCellEdit(FrameworkElement, Object)

造成正在編輯的儲存格還原成原始、未編輯的值。Causes the cell being edited to revert to the original, unedited value.

(Inherited from DataGridColumn)
CheckAccess() CheckAccess() CheckAccess() CheckAccess()

判斷呼叫的執行是否可以存取這個 DispatcherObjectDetermines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty)

清除屬性的區域數值。Clears the local value of a property. 要清除的屬性是由 DependencyProperty 識別項所指定。The property to be cleared is specified by a DependencyProperty identifier.

(Inherited from DependencyObject)
ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey)

清除唯讀屬性的區域數值。Clears the local value of a read-only property. 要清除的屬性是由 DependencyPropertyKey 所指定。The property to be cleared is specified by a DependencyPropertyKey.

(Inherited from DependencyObject)
CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty)

強制轉型所指定相依性屬性的值。Coerces the value of the specified dependency property. 叫用存在於呼叫 CoerceValueCallback 上相依性屬性之屬性中繼資料內所指定的任何 DependencyObject 函式,就可以達到這一點。This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Inherited from DependencyObject)
CommitCellEdit(FrameworkElement) CommitCellEdit(FrameworkElement) CommitCellEdit(FrameworkElement) CommitCellEdit(FrameworkElement)

在結束儲存格編輯模式之前執行任何必要的驗證。Performs any required validation before exiting cell editing mode.

(Inherited from DataGridColumn)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

判斷提供的 DependencyObject 和目前的 DependencyObject 是否相等。Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Inherited from DependencyObject)
GenerateEditingElement(DataGridCell, Object) GenerateEditingElement(DataGridCell, Object) GenerateEditingElement(DataGridCell, Object) GenerateEditingElement(DataGridCell, Object)

取得繫結至資料行 CellEditingTemplate 屬性值之 Binding 所定義的項目。Gets an element defined by the CellEditingTemplate that is bound to the column's Binding property value.

GenerateElement(DataGridCell, Object) GenerateElement(DataGridCell, Object) GenerateElement(DataGridCell, Object) GenerateElement(DataGridCell, Object)

取得繫結至資料行 CellTemplate 屬性值之 Binding 所定義的項目。Gets an element defined by the CellTemplate that is bound to the column's Binding property value.

GetCellContent(DataGridRow) GetCellContent(DataGridRow) GetCellContent(DataGridRow) GetCellContent(DataGridRow)

針對位於這個資料行與所指定資料列交集處的儲存格,擷取該儲存格的 Content 屬性值。Retrieves the Content property value for the cell at the intersection of this column and the specified row.

(Inherited from DataGridColumn)
GetCellContent(Object) GetCellContent(Object) GetCellContent(Object) GetCellContent(Object)

如果儲存格與這個資料行以及表示指定之資料項目的資料列相交,則取得該儲存格的 Content 屬性值。Gets the Content property value for the cell at the intersection of this column and the row that represents the specified data item.

(Inherited from DataGridColumn)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

取得這個 DependencyObject 的雜湊程式碼。Gets a hash code for this DependencyObject.

(Inherited from DependencyObject)
GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator()

建立特定的列舉值,以判斷哪些相依性屬性在此 DependencyObject 上具有本機設定的值。Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Inherited from DependencyObject)
GetType() GetType() GetType() GetType()

取得目前執行個體的 TypeGets the Type of the current instance.

(Inherited from Object)
GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty)

傳回 DependencyObject 的這個執行個體上之相依性屬性的目前有效值。Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Inherited from DependencyObject)
InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty)

重新評估指定之相依性屬性的有效值。Re-evaluates the effective value for the specified dependency property

(Inherited from DependencyObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

建立目前 Object 的淺層複本 (Shallow Copy)。Creates a shallow copy of the current Object.

(Inherited from Object)
NotifyPropertyChanged(String) NotifyPropertyChanged(String) NotifyPropertyChanged(String) NotifyPropertyChanged(String)

通知包含此資料行的 DataGrid,資料行屬性已變更。Notifies the DataGrid that contains this column that a column property has changed.

(Inherited from DataGridColumn)
OnCoerceIsReadOnly(Boolean) OnCoerceIsReadOnly(Boolean) OnCoerceIsReadOnly(Boolean) OnCoerceIsReadOnly(Boolean)

根據包含此資料行之 IsReadOnly 的屬性規則,判斷 DataGrid 屬性的值。Determines the value of the IsReadOnly property based on the property rules of the DataGrid that contains this column.

(Inherited from DataGridColumn)
OnCopyingCellClipboardContent(Object) OnCopyingCellClipboardContent(Object) OnCopyingCellClipboardContent(Object) OnCopyingCellClipboardContent(Object)

引發 CopyingCellClipboardContent 事件。Raises the CopyingCellClipboardContent event.

(Inherited from DataGridColumn)
OnPastingCellClipboardContent(Object, Object) OnPastingCellClipboardContent(Object, Object) OnPastingCellClipboardContent(Object, Object) OnPastingCellClipboardContent(Object, Object)

引發 PastingCellClipboardContent 事件。Raises the PastingCellClipboardContent event.

(Inherited from DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs)

每當這個 DependencyObject 上任何相依性屬性的有效值已更新時叫用。Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. 已變更的特定相依性屬性會在事件資料中報告。The specific dependency property that changed is reported in the event data.

(Inherited from DependencyObject)
PrepareCellForEdit(FrameworkElement, RoutedEventArgs) PrepareCellForEdit(FrameworkElement, RoutedEventArgs) PrepareCellForEdit(FrameworkElement, RoutedEventArgs) PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

在衍生類別中覆寫時,根據編輯需要來設定儲存格內容。When overridden in a derived class, sets cell content as needed for editing.

(Inherited from DataGridColumn)
ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty)

傳回相依性屬性的區域值 (如果存在)。Returns the local value of a dependency property, if it exists.

(Inherited from DependencyObject)
RefreshCellContent(FrameworkElement, String) RefreshCellContent(FrameworkElement, String) RefreshCellContent(FrameworkElement, String) RefreshCellContent(FrameworkElement, String)

為了回應樣板屬性值變更而重新整理資料行中的儲存格內容。Refreshes the contents of a cell in the column in response to a template property value change.

SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object)

設定相依性屬性的值,而不需要變更其值來源。Sets the value of a dependency property without changing its value source.

(Inherited from DependencyObject)
SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object)

設定相依性屬性的區域值 (由相依性屬性的識別碼所指定)。Sets the local value of a dependency property, specified by its dependency property identifier.

(Inherited from DependencyObject)
SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object)

設定唯讀相依性屬性的區域數值 (由相依性屬性的 DependencyPropertyKey 識別項所指定)。Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Inherited from DependencyObject)
ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty)

傳回值,這個值表示序列化程序是否應該序列化所提供相依性屬性的值。Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Inherited from DependencyObject)
ToString() ToString() ToString() ToString()

傳回代表目前物件的字串。Returns a string that represents the current object.

(Inherited from Object)
VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

請強制執行可以存取這個 DispatcherObject 的呼叫執行緒。Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

事件

CopyingCellClipboardContent CopyingCellClipboardContent CopyingCellClipboardContent CopyingCellClipboardContent

發生於準備好儲存格剪貼簿內容之後。Occurs after the cell clipboard content is prepared.

(Inherited from DataGridColumn)
PastingCellClipboardContent PastingCellClipboardContent PastingCellClipboardContent PastingCellClipboardContent

發生在將 [剪貼簿] 內容移至儲存格之前。Occurs before the clipboard content is moved to the cell.

(Inherited from DataGridColumn)

適用於

另請參閱