2012-07-12 42 views
0

我有以下結構鏈接列表(共結構),以數據網格

Public Structure matrixblock 
    Public name As String 
    Public firstReference As List 
    Public secondReference As List 
End Structure 

我節省了一堆這些結構的另一個列表:

dim result as List(of matrixblock) 

我想結合這個名單到DataGrid和列中應該是:

  • 列一個:命名
  • 有限公司lumn二:firstReference.Count
  • 列三:secondReference.Count

有人可以幫我設置此功能? 感謝

回答

0

如果直接綁定matrixblock結構,如果任何項目被添加到內部列表中,勢必計數屬性將不會更新。你會好起來使得這一類,並實現INotifyPropertyChanged接口,並添加兩個新的屬性給你的類,代表您的列表的計數屬性。

但是,如果你這樣做,仍然需要處理知道什麼時候該列表數發生了變化,當項目被添加或刪除,以列表的邏輯。你可以使用ObservableCollections來解決這個問題。

實際上,您不應該直接綁定結構或類,而應該使用MVVM模式,並使用ViewModel公開要綁定到數據網格的屬性。在Google上進行快速搜索會指出您在MVVM模式中的正確方向。

+0

在我的項目的結果列表將不會在我把數據在數據網格的時間再更改。我不能只是從每個行的結構中取出元素,然後讓數據網格顯示出來嗎? – benst 2012-07-12 11:11:12

+0

本,如果計數的值不會改變一旦設定,你可以只,如果你走這條路線暴露兩個計數值作爲你的結構/類或包裝視圖模型的特定屬性。 – stevethethread 2012-07-12 11:13:33