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)

适用于

另请参阅