2011-07-19 236 views
0

說我有一個DataGrid及其ItemsSource綁定到一個數據表(其列各種)。該表的一列是具有多個NaN值的雙重類型。在顯示部分,我想將所有的NaN值格式化爲空白。在WPF DataGrid中格式化單元格

我所做的是一個樣式設置爲DataGridCell這樣的:

<Style TargetType="DataGridCell"> 
    <Setter Property="Content" Value="{Binding Converter={StaticResource NumberConverter}}" /> 
</Style> 

但它不工作,因爲細胞的DataContext的是DataRowView的,這意味着我不能讓我在哪一列轉換器。

任何人有一個好主意? 非常感謝。

+0

您在XAML中使用'ResourceDictionary'來定義'NumberConverter',而不需要每個'DataGridCell'的每個實例。 –

+0

你是對的,我只想展示我如何做的更多細節;但實際上,這不是解決我的問題的解決方案。我試圖創建一個DoubleWrpper類,它具有顯式的操作符double;然後我創建列到我的新類作爲數據表中的一列。我不能再這樣做,因爲列將按字符串排序,而不是按兩倍排序。然後我嘗試實現ICompare接口,但它仍然沒有效果。 – Howard

回答

0

其實,我想要做的是將NaN細胞轉換爲空白。所以我創建了DataTable並生成了允許DBNull的DataColumn。當數據源中的值爲NaN時,我可以將該值設置爲DBNull.Value,以便NaN在我的DataGrid中不顯示任何內容。希望它有幫助,如果你有同樣的問題。