编辑整篇文章以澄清......我似乎无法指出:
BackgroundWorker从作为对象列表的WCF服务接收数据。服务引用配置为ObservableCollection。
我通过委托将ObservableCollection传递到我的主UI线程,并将其设置为等于UI线程Local Collection。
列表框绑定到此本地集合,不会更新。我已将以下内容添加到我的收藏中:
public ObservableCollection<EmployeeData> _empData { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
public ObservableCollection<EmployeeData> EmpData
{
get { return _empData ; }
set
{
_empData = value;
OnPropertyChanged("EmpData");
}
}
private void OnPropertyChanged(string p)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
handler(this, new PropertyChangedEventArgs(p));
}
这甚至会触发,但PropertyChanged始终为null。我的XAML列表框的绑定声明为:
ItemsSource="{Binding Path=EmpData}"
无论我做什么EmpData更新但ListBox没有,我已经尝试了其他几种方法,但是在列表框中没有任何变化,它总是只是null。
我已经在这一天工作了一天以上,我似乎无法通过'点击'获得这个全自动更新的东西。
答案 0 :(得分:0)
我不确定我到底知道你在做什么,但这里有一些建议。
理想情况下,您的EmployeeData类将实现INotifyPropertyChanged接口,以便在您的视图中自动更新属性更改。