我正在使用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?
答案 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);
}