2010-03-19 138 views
1

我有一個包含某些模型數據的類。此類具有元數據以及實際值。WPF Datagrid綁定到複雜類型的DataTable

class ServerValue { 

    public int SomeId {get;} 
    public int SomeOtherId {get;} 
    public DateTime LastChanged {get;} 

    public object Value {get;set;} 

    // this lets me show the value, but how do i update it from the grid? 
    public override string ToString(){ 
     return Value.ToString(); 
    } 
} 

現在我還有一個MyDataTable類,它派生自具有各種邏輯的DataTable。它調用服務器,獲取一堆ServerValues並將它們放入行和列中。

最後,我有我綁定到MyDataTable並顯示數據的WPF的DataGrid,因爲DataGrid中呼籲各ServerValue的ToString和回來的顯示值。 Hurray到目前爲止。

現在,我想要雙向數據綁定,所以網格上的輸入被寫回到ServerValue。所以我想將網格單元綁定到ServerValue的Value屬性而不是ServerValue本身。

現在DataGrid單元格的ServerValue被一個字符串替換。我可以解決這個問題,但是我會首先嚐試優雅的路線。

所以我有一個在單元格中的複雜類型的數據表,我想雙向數據綁定到該類型的特定屬性。

這可能嗎?我一直在Google上搜索,我無法做到這一點。

由於提前,

約翰

回答

1

你需要的是從你的對象來回轉換成它們的文本reprenstations的方式。

定義轉換器爲您的綁定

http://msdn.microsoft.com/en-us/library/system.windows.data.ivalueconverter.aspx

+0

哇,這是快!看起來很有希望,現在看看它。謝謝! – gjvdkamp 2010-03-19 16:20:30

+0

嗨,我得到了轉換器和所有,但它沒有被網格使用,它仍然顯示插入的類的類型。這是我如何掛鉤轉換器: 你知道正確的語法?我見過轉換器的例子,但他們都與數據模型等 在此先感謝, 約翰 – gjvdkamp 2010-03-20 19:57:06

+0

我現在需要的是與您的Datagrid的XAML示例 – 2010-03-22 09:07:22