C#WPF,ListView和GridView,动态列以及数据绑定问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#WPF,ListView和GridView,动态列以及数据绑定问题相关的知识,希望对你有一定的参考价值。

我有一个自定义类:

public class myField {
    public string MyName;
    public string MyDataType;
    public Field details;
}

自定义类“Field”是从导入的Salesforce.com Partner WSDL定义的。它看起来像这样:

public class Field {
    public string name;
    public string label;
    public string type;
    public int length;
    public bool custom;
    ... // there are probably 50+ defined properties here
}

我创建了一个myField对象列表,以保存这些字段的列表:

public List<myField> MasterList = new List<myField>();

这个列表是通过一些API调用填充的,我已经验证了数据是否存在且不为空。

我的目标是在ListView中显示字段“MyName”,“MyDataType”以及“details”字段下的所有子属性。

public GridView myGridView = new GridView();
GridViewColumn theColumn;

theColumn = new GridViewColumn();
theColumn.Header = "MyName";
theColumn.DisplayMemberBinding = new Binding("MyName");
myGridView.Columns.Add(theColumn);

theColumn = new GridViewColumn();
theColumn.Header = "length";
theColumn.DisplayMemberBinding = new Binding("details.length");
myGridView.Columns.Add(theColumn);

myListView.View = myGridView;
myListView.ItemsSource = MasterList;

我遇到的问题是,我尝试显示的任何主要属性工作正常(MyName,MyDataType),但任何子属性(我通过“详细信息”字段拉出的子字段)根本不显示(名称,标签,类型,长度,定制等)。

binding = "MyName" // displays correctly
binding = "MyDataType" // displays correctly
binding = "details.name" // does not display correctly
binding = "details.label" // does not display correctly
etc

有谁知道如何解决这个问题?

答案

我复制了你的代码甚至MyNameMyDataType都无法显示,除非我将它们改为以下

public class myField {
    public string MyName {get; set;}
    public string MyDataType {get; set;}
    public Field details {get; set;}
}

public class Field {
    public string name {get; set;}
    public string label {get; set;}
    public string type {get; set;}
    public int length {get; set;}
    public bool custom {get; set;}
}

一切都运转正常

以上是关于C#WPF,ListView和GridView,动态列以及数据绑定问题的主要内容,如果未能解决你的问题,请参考以下文章

删除 WPF ListView/GridView 高亮铬

listview在上gridview在下,如何能够一起滚动?

WPF ListView 使用GridView 带有Header 以及点击header排序 sort

在列标题单击时使 WPF ListView/GridView 排序的最佳方法?

2021-08-20 WPF控件专题 ListView控件详解

android listview里面能嵌套gridview吗