2013-02-04 44 views
0

我有從一個接口繼承的不同類,所有這些類都被添加到OberservableCollection中。有人能解釋我如何將Observablecollection的所有值分配給我的Listbox,除了類b。將OberservableCollection分配給ListBox並排除一些條目

假設(編輯):

private void start() 
{ 
    DP = new MyClass(); 
    this.ListBox.ItemsSource = new ObservableCollection<WInstance>(MyClass.Handler.Instances.OfType<WInstance>()); 
} 

... 
class Handler() : INotifyPropertyChanged 
{ 
    public ObservableCollection<HandlerItem> Instances { get; private set; } 
... 
} 

class HandlerItem: INotifyPropertyChanged 
{ 
    public Instance inst { get; private set; } //Instance could be WInstance or CInstance 
} 

運行期間MyClass的從遠程計算機WInstance或CInstance的一些對象接收。如果我嘗試用Instances.OfType()來解決它,似乎我的ItemsSource將更新

回答

0
var list = new List<Instance>(); 

//.. add all items to your list here. 


ObservableCollection<Instance> OCI = new ObservableCollection<Instance>(list.OfType<classa>()); 
// the above will generate a new ObservableCollection which contains all items of type classa from list. 
+0

首先謝謝。我的observablecollection動態地獲得一些條目,所以我必須實現一個解決方法來獲取當前值,不是嗎? –

+0

@ViktorZimmermann我不明白你的意思是「動態獲取一些條目」。請發佈您的代碼。不過,我的解決方案應該可行。 –