【发布时间】:2011-11-06 18:41:46
【问题描述】:
我正在尝试提供一个行为类似于 DataGridTextColumn 的 DataGrid 列,但在编辑模式下有一个附加按钮。我查看了 DataGridTemplateColumn,但似乎更容易将 DataGridTextColumn 子类化如下
问题是文本框在添加到网格时会丢失其绑定。也就是说,对其 Text 属性的更改不会反映在非编辑 TextBlock 或底层视图模式中
关于为什么会这样以及如何解决它有什么想法吗?
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 工具包
【问题讨论】:
标签: wpf data-binding datagrid wpftoolkit