将对象列表绑定到ListView

时间:2016-04-10 17:24:38

标签: c# wpf listview

我有这段代码:

public class Member
    {
        public string name;
        public string id;
        public int days;
        public string check;

    }

private void Function(object sender, RoutedEventArgs e)
    {
        if(ValidateInput())
        {
            List<Member> Members = new List<Member>();
            API.Authenticate(key,id);
            Members = API.Method1();

            Members = API.Method2(Members);

            foreach(Member item in Members)
            {
                Results.Items.Add(item);
            }

        }
    }

我将它们添加到listView中,该ListView具有针对该类的某些字段的DisplayMemberBinding。

<ListView.View>
    <GridView AllowsColumnReorder="False" >
         <GridViewColumn Header="Name" DisplayMemberBinding="{Binding name}" Width="150"/>
         <GridViewColumn Header="Id" DisplayMemberBinding="{Binding id}" Width="130"/>
         <GridViewColumn Header="Check" DisplayMemberBinding="{Binding check}" Width="220"/>
         <GridViewColumn Header="Days" DisplayMemberBinding="{Binding days}" Width="120"/>
    </GridView>
</ListView.View>

在完成该过程后,我有一个列表视图已填充,但所有列都是空白的,我无法查看问题所在。 我试图检查数据,但一切都很好。

我在这里做错了什么?当然,更改名称是为了掩盖应用程序的真正目标,因为这是一个棘手的项目。

1 个答案:

答案 0 :(得分:0)

我发现了这个问题。 问题是与DisplayMemberBinding结合的元素必须是属性而不是字段。

public class Member
{
    public string name { get; set; }
    public string id { get; set; }
    public int days { get; set; }
    public string check { get; set; }
}

这解决了问题!