問題修改前的示例:
問題解決后的示例:
由于DevExpress GridControl使用了有不同特性的不同類型對象所造成的。出于這個原因,當GridControl試著讀取單元格的值時,它會試著獲取一個類型的屬性值。由于使用了不同類型的對象,所以如果一個基礎行對象不包含這個屬性的話,屬性值將無法獲取。在這種情況下,應用程序將拋出BindingException,GridControl不能立即更新編輯器的值。
解決這個問題,可以通過使用數值轉換器:
public class TypesValueConverter : IValueConverter {
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
DataItem dataItem = value as DataItem;
if(dataItem != null)
return dataItem.Types;
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
throw new NotImplementedException();
}
}
在這種情況下,需要使用
[XAML]ItemsSource="{Binding Path=RowData.Row, Converter={StaticResource typesValueConverter}}"
與
[XAML]ItemsSource="{Binding Path=RowData.Row.Types}"
相結合。
(慧都控件網版權所有,轉載請注明出處,否則追究法律責任)
標簽:
DevExpress
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: