【发布时间】:2012-01-01 04:27:06
【问题描述】:
我正在尝试创建具有自动生成列的数据网格。
假设我的 Collection 是一个名为 Articles 的属性,属于我的 ObservableCollection<ArticleWrapper> 类型的视图模型。
我现在将 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 生成一个对视图更友好的视图模型,并以旧方式进行。但感谢所有答案。
标签: c# wpf vb.net datagrid wpftoolkit