2012-07-11 70 views
2

我有以下的静态类绑定列表视图的属性在另一类

static class ContactSettings 
{ 
    static ObservableCollection<Contact> _contactCollection = new ObservableCollection<Contact>(); 

    public static ObservableCollection<Contact> ContactCollection 
    { 
     get { return _contactCollection; } 
    } 
} 

其中联系是C​​ontact.Name一个类,Contact.Address字符串属性。

我想将上面的ContactCollection绑定到驻留在窗口中的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绑定到另一个类中的集合。谢谢你的帮助。

回答

3

问题是你不能绑定到一个静态类,因为绑定需要一个类的实例。

您可以试试类似这样的解决方法SO question

相关问题