2011-08-10 49 views
1

我正在創建一個DataGrid,將網格的ItemsSource設置爲一個WCF請求結果。我對某些字符串有一些空值,並且我希望能夠爲這些空值輸入值。我沒有編輯/保存預先填充的非空值的問題,但我無法修改已返回爲空的單元格的值。我怎樣才能做到這一點?Silverlight 4 DataGrid編輯空值的單元格

回答

1

您可以在Binding中使用Converter將空值轉換爲空字符串。這裏是轉換器的一些代碼:

public class NullToEmptyStringConverter : IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     return value == null ? string.Empty : value; 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     return value == string.Empty ? null : value; 
    } 
} 
+0

我得到所有非空值調用到轉換器,但空值不會進入轉換器。我在轉換和轉換方法中有斷點,但是它們不會爲空值觸發,所以它沒有用處。 –

+0

請詳細說明...... – evasilchenko

+0

我已經得到了wcf調用返回的項目,並在完成的事件中設置了我的網格的ItemsSource。網格顯示正確(我有自定義列,如' ,其中NullStringConverter是在App.xaml中定義爲靜態資源鍵的值轉換器的實例。召集人將爲非空值觸發,但不會觸發空值,導致轉換器無用。 –