DataGrid於Decimal?型態的欄位中輸入空字串時,自動以Null取代。
當資料來源(如:DataTable)的欄位型態為Decimal?,代表資料可以是數字也可以是null,
在繫結至DataGrid之後,當使用者在該欄位中的格子資料清除時,會發生型態不合的警告,
因為資料清除時該格子為空字串,型態是String,但是欄位型態為Decimal?,
為了讓使用者可以清空格子中的資料,應將空字串轉為null,使符合欄位型態。
作法為:
在xaml的資料繫結裡使用TargetNullValue屬性,指定需要轉成null的字串即可。
xaml語法如下:
<DataGridTextColumn
Header="重量"
Binding="{Binding Weight, TargetNullValue=''}"
/>