具有十进制值的 DatagridTextColumn,不允许输入

DatagridTextColumn with decimal value, allow no entry

使用 .Net 4.6。
我有一个绑定到 decimal? 属性 的 DataGridTextColumn。 (我需要这个 link 的帮助才能让它正常工作。)
是否可以让用户不输入任何值?也就是说,用户将 select 单元格并删除其中的任何内容。
在我们的应用程序中,当用户在删除内容后离开单元格时,绑定 属性 不会更新。
感谢您的任何见解 --

更新:

var dataGridTextColumn = new DataGridTextColumn();
string bindingPath = $"{descr.BindingPropertyName}";
Binding b = new Binding(bindingPath);
b.Mode = readOnly ? BindingMode.OneWay : BindingMode.TwoWay;
// Accordng to some articles on Whosebug, binding as UpdatePropertyChanged
//  prevents the editing of decimal and decimal? values.
//  With UpdateSourceTrigger.LostFocus, it appears to work as desired.
b.UpdateSourceTrigger = UpdateSourceTrigger.LostFocus;
dataGridTextColumn.Binding = b;

该列按预期工作,但绑定 属性 为十进制时除外? (可能还有其他类型)用户不能将单元格留空。

您应该在 VM 中定义一个可为空的 属性(十进制?)并在绑定中指定 TargetNullValue (''),例如:

b.TargetNullValue = string.Empty;