我有以下静态类
static class ContactSettings
{
static ObservableCollection<Contact> _contactCollection = new ObservableCollection<Contact>();
public static ObservableCollection<Contact> ContactCollection
{
get { return _contactCollection; }
}
}
其中Contact是具有Contact.Name和Contact.Address字符串属性的类。
我想将上面的ContactCollection绑定到驻留在Window中的WPF ListView。
这是我的ListView XAML定义
<ListView x:Name="_contactListView" DataContext="{Binding Path=ContactSettings}" ItemsSource="{Binding ContactSettings.ContactCollection}">
<ListView.View>
<GridView>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}" />
<GridViewColumn Header="Address" DisplayMemberBinding="{Binding Address}" />
</GridView>
</ListView.View>
</ListView>
绑定不起作用。我很确定问题出在了 XAML中的DataContext和ItemSource属性。如果我在Window类中移动ContactCollection并将DataContext设置为Self,我可以使代码工作。问题是我不知道如何告诉ListView绑定到另一个类内的集合。谢谢你的帮助。