我们在使用DataGridTemplateColumn
实现自定义单元格时,需要使用CellTemplate
,如果单元格需要进行编辑,在需要添加CellEditingTemplate
。 示例如下,这样就可以使用双击进入到编辑功能。
<DataGridTemplateColumn
MinWidth="140"
MaxWidth="300"
Header="样本名称">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Border x:Name="SpNameBorder">
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="{Binding SpecimenName, UpdateSourceTrigger=PropertyChanged}"
TextTrimming="CharacterEllipsis"
ToolTip="{Binding SpecimenName, UpdateSourceTrigger=PropertyChanged}">
</TextBlock>
</Border>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox
x:Name="SpecimenNameTextBox"
Height="{Binding ElementName=SpNameEditingBorder, Path=Height}"
VerticalContentAlignment="Center"
FontSize="12"
Text="{Binding SpecimenName, UpdateSourceTrigger=PropertyChanged}">
</TextBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>