我无法将项目添加到方法内部的Observable集合。如何添加项目到Observable集合,这是一个方法内?
下面是代码:
- 我会打电话给GetFeaturelist()方法首先,这里返回观察的集合,然后我会打电话的AddRange应该将项目添加到里面GetFeaturelist FeatureList()方法,它是不会发生。
请帮我解决这个问题。
GetFeaturelist().AddRange(_featureListBuffer);
private ObservableCollection<Feature> GetFeaturelist()
{
return FeatureList;
}
public class ObservableCollection<T> : System.Collections.ObjectModel.ObservableCollection<T>
{
/// <summary>
/// Adds the elements of the specified collection to the end of the ObservableCollection.
/// </summary>
public void AddRange(IEnumerable<T> collection)
{
foreach(T i in collection)
{
Items.Add(i);
}
OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
}
}
注:
- 我能做到这样
FeatureList.AddRange(_featureListBuffer);
其工作正常,但我想这样GetFeaturelist().AddRange(_featureListBuffer);
“......没有发生” - 我无法重现您的问题。该代码适用于我。也许你可以添加更多的细节? *什么*不*发生? - 而且*发生了什么? – 2013-02-27 12:29:29
从GetFeatureslist()返回的'ObservableCollection'是__your__可观察集合还是.NET的可观察集合? – Alex 2013-02-27 12:30:26
@Alex:有点令人困惑,但是您可以看到一个新类“ObservableCollection”是通过从BCL'ObservableCollection '(在不同的命名空间中)派生而定义的。 –
2013-02-27 12:32:36