Было бы здорово, однако, если бы я мог достичь того же результата с DataGridTextColumn
.
Вы не можете, так как DataGridTextColumn
не имеет свойства Tag
, которое вы можно задать.
Непонятно, зачем вообще устанавливать свойство Tag
, но если вы не хотите создавать DataGridTemplateColumn
и CellTemplate
для каждого столбца, вы можете создать пользовательский DataGridTextColumn
:
public class CustomDataGridTextColumn : DataGridTextColumn
{
protected override FrameworkElement GenerateElement(DataGridCell cell, object dataItem)
{
FrameworkElement fe = base.GenerateElement(cell, dataItem);
if (fe is TextBlock textBlock)
{
textBlock.SetBinding(TextBlock.TagProperty, new Binding(TagPropertyName)); //use TagProperty here
}
return fe;
}
public string TagPropertyName { get; set; }
}
Затем вы просто замените встроенный DataGridTextColumn
на этот в своем XAML:
<local:CustomDataGridTextColumn Binding="{Binding Variable2Name}" TagPropertyName="Variable1Name" />