DataGridTemplateColumn 類別

定義

表示將樣板指定的內容裝載於其儲存格中的 DataGrid 資料行。

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

範例

下列範例將示範如何建立 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 的輸出。

使用 DataTemplate 的資料行

備註

DataGridTemplateColumn 類型可讓您藉由指定顯示和編輯值時要使用的儲存格範本,來建立自己的資料行類型。 若要指定用來顯示不在編輯模式之儲存格內容的範本,請設定 CellTemplate 屬性。 若要指定用來顯示處於編輯模式之儲存格內容的範本,請設定 CellEditingTemplate 屬性。 如需範本的詳細資訊,請參閱 資料範本化概觀樣式和範本化

為了方便起見, DataGrid 請提供下列預先定義的資料行類型:

資料行類型 資料顯示
DataGridHyperlinkColumn 用來顯示 URI 資料。
DataGridComboBoxColumn 用來顯示列舉資料。
DataGridTextColumn 用來顯示文字。
DataGridCheckBoxColumn 用來顯示布林資料。

建構函式

DataGridTemplateColumn()

初始化 DataGridTemplateColumn 類別的新執行個體。

欄位

CellEditingTemplateProperty

識別 CellEditingTemplate 相依性屬性。

CellEditingTemplateSelectorProperty

識別 CellEditingTemplateSelector 相依性屬性。

CellTemplateProperty

識別 CellTemplate 相依性屬性。

CellTemplateSelectorProperty

識別 CellEditingTemplateSelector 相依性屬性。

屬性

ActualWidth

取得資料行的目前寬度,以裝置獨立單位為單位, (每單位 1/96 英吋) 。

(繼承來源 DataGridColumn)
CanUserReorder

取得或設定值,該值指出使用者是否可藉由拖曳欄標題來變更欄顯示位置。

(繼承來源 DataGridColumn)
CanUserResize

取得或設定值,這個值表示使用者是否可以使用滑鼠來調整資料行寬度。

(繼承來源 DataGridColumn)
CanUserSort

取得或設定值,該值指出使用者是否可藉由按一下欄標題來排序欄。

(繼承來源 DataGridColumn)
CellEditingTemplate

取得或設定範本,這個範本要用來顯示編輯模式下之儲存格的內容。

CellEditingTemplateSelector

取得或設定物件,以決定用來顯示處於編輯模式之儲存格內容的範本。

CellStyle

取得或設定用於呈現資料行中儲存格的樣式。

(繼承來源 DataGridColumn)
CellTemplate

取得或設定範本,以用來顯示不是處於編輯模式之儲存格的內容。

CellTemplateSelector

取得或設定物件,以決定用來顯示不是處於編輯模式之儲存格內容的範本。

ClipboardContentBinding

取得或設定當取得或設定剪貼簿的儲存格內容時,要使用的繫結物件。

(繼承來源 DataGridColumn)
DataGridOwner

取得包含此資料行的 DataGrid 控制項。

(繼承來源 DataGridColumn)
DependencyObjectType

取得包裝 DependencyObjectType 這個實例 CLR 型別的 。

(繼承來源 DependencyObject)
Dispatcher

取得與這個 Dispatcher 關聯的 DispatcherObject

(繼承來源 DispatcherObject)
DisplayIndex

取得或設定相對於 DataGrid 中之其他資料行的資料行位置。

(繼承來源 DataGridColumn)
DragIndicatorStyle

取得或設定在拖曳作業期間要套用至資料行標題的樣式物件。

(繼承來源 DataGridColumn)
Header

取得或設定欄標題的內容。

(繼承來源 DataGridColumn)
HeaderStringFormat

取得或設定格式模式,以套用到欄標題的內容。

(繼承來源 DataGridColumn)
HeaderStyle

取得或設定呈現欄標題時所用的樣式。

(繼承來源 DataGridColumn)
HeaderTemplate

取得或設定範本,以定義欄標題的視覺表示方式。

(繼承來源 DataGridColumn)
HeaderTemplateSelector

取得或設定物件,以選取要用於欄標題的範本。

(繼承來源 DataGridColumn)
IsAutoGenerated

取得值,這個值會指出資料行是否自動產生。

(繼承來源 DataGridColumn)
IsFrozen

取得值,這個值會指出資料行是否會避免水平捲動。

(繼承來源 DataGridColumn)
IsReadOnly

取得或設定值,該值指出是否可編輯欄中的儲存格。

(繼承來源 DataGridColumn)
IsSealed

取得值,這個值表示此執行個體目前是否已密封 (唯讀)。

(繼承來源 DependencyObject)
MaxWidth

取得或設定資料行的最大寬度條件約束。

(繼承來源 DataGridColumn)
MinWidth

取得或設定資料行的最小寬度條件約束。

(繼承來源 DataGridColumn)
SortDirection

取得或設定欄的排序方向 (遞增或遞減)。

(繼承來源 DataGridColumn)
SortMemberPath

取得或設定屬性名稱或以句號分隔的屬性名稱階層,要當做排序依據成員。

(繼承來源 DataGridColumn)
Visibility

取得或設定欄的可見性。

(繼承來源 DataGridColumn)
Width

取得或設定欄寬或自動調整模式。

(繼承來源 DataGridColumn)

方法

CancelCellEdit(FrameworkElement, Object)

造成正在編輯的儲存格還原成原始、未編輯的值。

(繼承來源 DataGridColumn)
CheckAccess()

判斷呼叫的執行是否可以存取這個 DispatcherObject

(繼承來源 DispatcherObject)
ClearValue(DependencyProperty)

清除屬性的區域數值。 要清除的屬性是由 DependencyProperty 識別項所指定。

(繼承來源 DependencyObject)
ClearValue(DependencyPropertyKey)

清除唯讀屬性的區域數值。 要清除的屬性是由 DependencyPropertyKey 所指定。

(繼承來源 DependencyObject)
CoerceValue(DependencyProperty)

強制轉型所指定相依性屬性的值。 完成方式是叫用存在於呼叫 DependencyObject 之相依性屬性的屬性中繼資料中所指定的任何 CoerceValueCallback 函式。

(繼承來源 DependencyObject)
CommitCellEdit(FrameworkElement)

在結束儲存格編輯模式之前執行任何必要的驗證。

(繼承來源 DataGridColumn)
Equals(Object)

判斷提供的 DependencyObject 和目前的 DependencyObject 是否相等。

(繼承來源 DependencyObject)
GenerateEditingElement(DataGridCell, Object)

取得繫結至資料行 CellEditingTemplate 屬性值之 Binding 所定義的項目。

GenerateElement(DataGridCell, Object)

取得繫結至資料行 CellTemplate 屬性值之 Binding 所定義的項目。

GetCellContent(DataGridRow)

針對位於這個資料行與所指定資料列交集處的儲存格,擷取該儲存格的 Content 屬性值。

(繼承來源 DataGridColumn)
GetCellContent(Object)

如果儲存格與這個資料行以及表示指定之資料項目的資料列相交,則取得該儲存格的 Content 屬性值。

(繼承來源 DataGridColumn)
GetHashCode()

取得這個 DependencyObject 的雜湊碼。

(繼承來源 DependencyObject)
GetLocalValueEnumerator()

建立特定的列舉值,以判斷哪些相依性屬性在此 DependencyObject 上具有本機設定的值。

(繼承來源 DependencyObject)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
GetValue(DependencyProperty)

傳回 DependencyObject 的這個執行個體上之相依性屬性的目前有效值。

(繼承來源 DependencyObject)
InvalidateProperty(DependencyProperty)

重新評估指定相依性屬性的有效值。

(繼承來源 DependencyObject)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
NotifyPropertyChanged(String)

通知包含此資料行的 DataGrid,資料行屬性已變更。

(繼承來源 DataGridColumn)
OnCoerceIsReadOnly(Boolean)

根據包含此資料行之 IsReadOnly 的屬性規則,判斷 DataGrid 屬性的值。

(繼承來源 DataGridColumn)
OnCopyingCellClipboardContent(Object)

引發 CopyingCellClipboardContent 事件。

(繼承來源 DataGridColumn)
OnPastingCellClipboardContent(Object, Object)

引發 PastingCellClipboardContent 事件。

(繼承來源 DataGridColumn)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

每當這個 DependencyObject 上任何相依性屬性的有效值已更新時叫用。 已變更的特定相依性屬性會在事件資料中報告。

(繼承來源 DependencyObject)
PrepareCellForEdit(FrameworkElement, RoutedEventArgs)

在衍生類別中覆寫時,根據編輯需要來設定儲存格內容。

(繼承來源 DataGridColumn)
ReadLocalValue(DependencyProperty)

傳回相依性屬性的區域值 (如果存在)。

(繼承來源 DependencyObject)
RefreshCellContent(FrameworkElement, String)

為了回應樣板屬性值變更而重新整理資料行中的儲存格內容。

SetCurrentValue(DependencyProperty, Object)

設定相依性屬性的值,而不需要變更其值來源。

(繼承來源 DependencyObject)
SetValue(DependencyProperty, Object)

設定相依性屬性的區域值 (由相依性屬性的識別碼所指定)。

(繼承來源 DependencyObject)
SetValue(DependencyPropertyKey, Object)

設定唯讀相依性屬性的區域數值 (由相依性屬性的 DependencyPropertyKey 識別項所指定)。

(繼承來源 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

傳回值,這個值表示序列化程序是否應該序列化所提供相依性屬性的值。

(繼承來源 DependencyObject)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
VerifyAccess()

請強制執行可以存取這個 DispatcherObject 的呼叫執行緒。

(繼承來源 DispatcherObject)

事件

CopyingCellClipboardContent

發生於準備好儲存格剪貼簿內容之後。

(繼承來源 DataGridColumn)
PastingCellClipboardContent

發生在將 [剪貼簿] 內容移至儲存格之前。

(繼承來源 DataGridColumn)

適用於

另請參閱