DataGridTemplateColumn 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示一个 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 的输出。
注解
使用 DataGridTemplateColumn 类型,可以通过指定在显示和编辑值时要使用的单元格模板来创建自己的列类型。 若要指定用于显示未处于编辑模式的单元格内容的模板,请设置 CellTemplate 属性。 若要指定用于显示处于编辑模式的单元格内容的模板,请设置 CellEditingTemplate 属性。 有关模板的详细信息,请参阅 数据模板化概述 和 样式设置和模板化。
为方便起见, DataGrid 提供以下预定义列类型:
列类型 | 数据显示 |
---|---|
DataGridHyperlinkColumn | 用于显示 URI 数据。 |
DataGridComboBoxColumn | 用于显示枚举数据。 |
DataGridTextColumn | 用于显示文本。 |
DataGridCheckBoxColumn | 使用 显示布尔数据。 |
构造函数
DataGridTemplateColumn() |
初始化 DataGridTemplateColumn 类的新实例。 |
字段
属性
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) |
方法
事件
CopyingCellClipboardContent |
在单元格剪贴板内容准备好之后发生。 (继承自 DataGridColumn) |
PastingCellClipboardContent |
在剪贴板内容传输到单元格之前发生。 (继承自 DataGridColumn) |