我試圖用自動生成列創建一個數據網格。 假設我的收藏是我的ObservableCollection<ArticleWrapper>
類型的視圖模型Articles
的屬性。Datagrid:從ItemsSource集合的一個屬性生成列
我現在綁定的ItemsSource到這個集合:
<wpf:DataGrid ItemsSource={Binding Articles} />
類ArticleWrapper
是這樣的:
[c#]
public class ArticleWrapper
{
public ArticleConfigurationSet ArticleConfigurationSet { get; set; }
public string Description { get; set; }
}
[vb.net]
Public Class ArticleWrapper
Public Property ArticleConfigurationSet As ArticleConfigurationSet
Public Property Description As String
End Class
類ArticleConfigurationSet
是這樣的:
[c#]
public class ArticleConfigurationSet
{
public string Key { get; set; }
public int Number { get; set; }
}
[vb.net]
Public Class ArticleConfigurationSet
Public Property Key As String
Public Property Number As Integer
End Class
自動生成的列看起來像這樣(請忘記CustomEntries) :
但現在我的問題:我想要顯示的數據綁定到我的ArticleConfigurationSet
屬性。但我無法更改我的ItemsSource綁定,因爲數據網格的SelectedItem屬性必須爲ArticleWrapper
(用於命令處理)。
數據網格也應該是這樣的:
你有什麼想法如何做到這一點?
我會用linq生成一個更友好的視圖模型,並在舊的方式做...但感謝所有的答案。 –