使用xaml(win8)中的模型类列表绑定listview

时间:2013-11-04 21:33:30

标签: c# wpf xaml listview windows-8

我正在使用metro app c#/ xaml,我想将listview与webservice函数绑定,返回List<delNewsletter>

delNewsletter 是班级

public class delNewsletter { public int Id { set; get; } public string name { set; get; } }

我这样绑定:

lstNews.ItemsSource= await client.GetDeletedNewslettersAsync("token", 1, 2);

但是listview项目显示了这样的内容 test.win8.delNewsletter这是方法路径。

我如何绑定listview?

2 个答案:

答案 0 :(得分:1)

您需要向listView提供DisplayMemberPath,否则它只会在您的对象上调用ToString()并显示它现在显示的类名。

您可以在后面的代码中或在XAML中指定它 -

lstNews.DisplayMemberPath = "name";

OR

<ListView DisplayMemberPath="{Binding name}"/>

但是如果你想在listView中显示Id和name,你需要为listView提供模板 -

     <ListView>
        <ListView.View>
            <GridView>
                <GridViewColumn DisplayMemberBinding="{Binding Id}"/>
                <GridViewColumn DisplayMemberBinding="{Binding name}"/>
            </GridView>
        </ListView.View>
    </ListView>

答案 1 :(得分:0)

您是否可以尝试覆盖delNewsletter类的ToString方法。 这样的事情:

public override string ToString()
{
   return string.Format(CultureInfo.InvariantCulture, "Name: {0}, Id: {1}", Name, Id);
}