2016-04-28 19 views
0

.Net 4.6を使用します。
私はdecimal?プロパティにバインドされたDataGridTextColumnを持っています。 (私はこの機能を利用するために、このlinkからの助けが必要でした)
ユーザーは値を入力できないようにすることはできますか?すなわち、ユーザはセルを選択し、その中にあるものを削除する。
アプリケーションで、コンテンツを削除した後にユーザーがセルを離れると、バインドされたプロパティは更新されません。任意の洞察力のための
おかげ -10進値のDatagridTextColumnは、エントリを許可しません。

更新:

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

は、あなたがコードを表示することができますか? – ChrisF

答えて

0

あなたはVMにNULL可能プロパティ(?小数)を定義する必要があり、例えば、結合にTargetNullValueを(「」)を指定します

b.TargetNullValue = string.Empty; 
+0

これは私が探していたものです。ありがとう。 – Number8

関連する問題