0

.Net 4.6 を使用。
プロパティにバインドされた DataGridTextColumn がありdecimal?ます。(このリンクを使用するには、このリンクの助けが必要でした。)
ユーザーが値を入力できないようにすることはできますか? つまり、ユーザーはセルを選択し、そこにあるものをすべて削除します。
私たちのアプリケーションでは、コンテンツを削除した後にユーザーがセルを離れると、バインドされたプロパティは更新されません。
洞察に感謝します-

アップデート:

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;

バインドされたプロパティが小数の場合を除いて、列は必要に応じて機能しますか? (およびおそらく他のタイプ)ユーザーはセルを空のままにすることはできません。

4

1 に答える 1

0

VM で null 許容プロパティ (10 進数?) を定義し、バインディングで TargetNullValue ('') を指定する必要があります。次に例を示します。

b.TargetNullValue = string.Empty;
于 2016-04-28T23:26:48.783 に答える