使用.Net 4.6。
我有一个绑定到decimal?
属性的DataGridTextColumn。 (我需要link的帮助才能让它工作。)
是否可以允许用户输入任何值?也就是说,用户将选择单元格并删除其中的任何内容
在我们的应用程序中,当用户在删除内容后离开单元格时,绑定属性不会更新
感谢您的任何见解 -
更新:
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 StackOverflow, 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;
除非绑定属性为十进制,否则列会按需运行? (可能还有其他类型)用户不能将单元格留空。
答案 0 :(得分:0)
您应该在VM中定义一个可空属性(decimal?)并在绑定中指定TargetNullValue(''),例如:
b.TargetNullValue = string.Empty;