【问题标题】:Binding listview to a property in another class将列表视图绑定到另一个类中的属性
【发布时间】:2012-07-11 08:25:53
【问题描述】:

我有以下静态类

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 绑定到另一个类中的集合。感谢您的帮助。

【问题讨论】:

    标签: c# wpf listview binding


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-14
      • 2014-01-17
      • 2018-01-13
      • 1970-01-01
      • 1970-01-01
      • 2018-04-01
      • 2015-10-22
      相关资源
      最近更新 更多