我有一个班级
public class Foo
{
public List<string> list1 { get; set;}
public List<string> list2 { get; set; }
public string url;
}
和一个包含两列的ListView
<ListView Name="listview" ItemsSource="{Binding}">
<ListView.View>
<GridView>
<GridViewColumn Header="list1"
DisplayMemberBinding="{Binding Path=list1}" />
<GridViewColumn Header="list2"
DisplayMemberBinding="{Binding Path=list2}" />
</GridView>
</ListView.View>
</ListView>
如何将Foo类的实例绑定到ListView?
这里我设置了一个DataContext
listview.DataContext = new Foo()
{
list1 = new[] { "dsfasd", "asdfasdf", "asdf", "asdfsd" }.ToList(),
list2 = new[] { "dsfasd", "asdfasdf", "asdf", "asdfasd" }.ToList()
};
但这不起作用。
答案 0 :(得分:0)
我会将代码中的datacontext设置为你的Foo实例。
答案 1 :(得分:0)
不确定你要做什么,但list1和2是两个集合。 ItemsSource本身必须是一个集合(或者至少是一个不可数的,我不知道我的头脑)。我没有看到你的类Foo
实现了任何重新集合集合的东西。你将无法以这种方式列出1/2。
你可以,例如让Foo实现IEnumerable<KeyValuePair<string,string>>
,然后用你的字符串产生键值对。然后你可以绑定到属性键和值。