我已经看过一些类似的帖子。 不同之处在于我不想手动设置所有列绑定。
所以我有一个班级
public class PartProgram
{
public string Description { get; set; }
public string Note { get; set; }
public string PartProgramFilename { get; set; }
public List<String> LstBlades { get; set; }
}
我将它绑定到datagridView:
dtgPPtab3.ItemsSource = olstPartPrograms;
,其中
public ObservableCollection<PartProgram> olstPartPrograms = new ObservableCollection<PartProgram>();
这几乎无处不在,结果如下图所示:
因此所有列都是正确的,但是我希望将集合值更改为blade1,blade2等的最后一列。
答案 0 :(得分:0)
您必须使用ItemsControl(DataGrid / ListView等)来显示集合列内容。
例如
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding LstBlades }"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
答案 1 :(得分:0)
好的,谢谢大家的帮助,但我找到了一个非常简单的解决方案,来自http://www.wpf-tutorial.com/datagrid-control/details-row/
想象一下绑定到数据网格的类:
ObservableCollection<User> users = new ObservableCollection<User>();
List<String> lst = new List<string>();
lst.Add("AAA");
lst.Add("BBB");
lst.Add("CCC");
users.Add(new User() { Id = 1, Name = "John Doe", Str = lst });
dg.ItemsSource = users;
如果我想要课程中的详细信息,我会添加访问者详细信息:
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public List<String> Str { get; set; }
public string Details<--------------------------------
{
get
{
String locStr=string.Empty;
foreach (var item in this.Str)
locStr += item + ", ";
return locStr;
}
}
}