Я пытаюсь предоставить столбец DataGrid, который ведет себя как DataGridTextColumn, но с дополнительной кнопкой в режиме редактирования. Я посмотрел на DataGridTemplateColumn, но оказалось, что подкласс DataGridTextColumn проще поделить, как показано ниже
Проблема в том, что textBox теряет свою привязку при добавлении в сетку. То есть изменения в его свойстве Text не отражаются в текстовом блоке без редактирования или в базовом режиме просмотра
Есть мысли о том, почему это может быть и как я могу обойти это?
public class DataGridFileColumn : DataGridTextColumn
{
protected override FrameworkElement GenerateEditingElement(DataGridCell cell, object dataItem)
{
TextBox textBox = (TextBox)base.GenerateEditingElement(cell, dataItem);
Button button = new Button { Content = "..." };
Grid.SetColumn(button, 1);
return new Grid
{
ColumnDefinitions = {
new ColumnDefinition(),
new ColumnDefinition { Width = GridLength.Auto },
},
Children = {
textBox,
button,
},
};
}
}
Я использую .NET 3.5 и набор инструментов WPF