【问题标题】:Binding listbox from another project class从另一个项目类绑定列表框
【发布时间】:2016-07-28 05:43:48
【问题描述】:

如何将属性 ObservableCollection 绑定到 xaml 列表框。 收藏在另一个项目中。我已经有了 datacontext = this 作为第二个属性。

我有一些项目数据,有一个具有属性 ObservableCollection 值的类。我需要将它绑定到主窗口的 xaml 列表框值。

【问题讨论】:

  • 考虑添加一些代码
  • 嗨,您能否在您的问题中提供更多信息。它至少应该包含一些 xaml 标记、代码隐藏(以及视图模型、模型类)。

标签: c# wpf data-binding binding


【解决方案1】:

如果你有一个实现INotifyPropertyChanged的视图模型

您可以添加一个附加属性,将该属性包装在您的其他类中,然后您需要绑定到该属性,例如

        const string MY_COLLECTION = "MyObservableCollection";

        ObservableCollection<someType> _myObservableCollection;

        public ObservableCollection<someType> MyObservableCollection
        {
            get
            {
                return _myObservableCollection;
            }
            set
            {
                if (value == _myObservableCollection) return;
                _myObservableCollection = value;
                RaisePropertyChanged(MY_COLLECTION);
            }
        }

在您的 xaml 中将您的绑定设置为 yourDataContext.MyObservableCollection,在您的视图模型的(例如)构造函数中将属性设置为您的其他可观察集合,即

MyObservableCollection = OtherClass.OtherObservableCollection

显然它们的类型需要匹配

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-28
    相关资源
    最近更新 更多