Nei*_*eil 5 data-binding wpf datagrid wpftoolkit
我试图提供一个 DataGrid 列,它的行为类似于 DataGridTextColumn,但在编辑模式下有一个附加按钮。我查看了 DataGridTemplateColumn,但将 DataGridTextColumn 子类化似乎更容易,如下所示
问题是 textBox 在添加到网格时失去了它的绑定。也就是说,对其 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,
},
};
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用 .NET 3.5 和 WPF 工具包
事实证明,您还需要重写PrepareCellForEdit、CommitCellEdit 和CancelCellEdit
基类假设(并非没有道理)传入的 FrameworkElement 将是一个 TextBox
| 归档时间: |
|
| 查看次数: |
1715 次 |
| 最近记录: |