2013-02-04 7 views
0

하나의 인터페이스에서 다른 클래스를 상속 받았으며 모두 OberservableCollection에 추가되었습니다. 누군가가 클래스 b를 제외하고 Observablecollection의 모든 값을 Listbox에 할당하는 방법을 설명 할 수 있습니까?OberservableCollection을 ListBox에 할당하고 일부 항목을 제외하십시오.

가정하자 (편집) : 런타임 MyClass에 동안

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 
} 

이 WInstance 또는 CInstance의 일부 개체 원격 컴퓨터에서받을 수 있습니다. Instances.OfType()으로 해결하려고하면 ItemsSource wount가 업데이트됩니다.

답변

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 "일부 항목을 동적으로 얻는 것"이 ​​무슨 뜻인지 이해할 수 없습니다. 코드를 게시하십시오. 그래도 내 솔루션이 효과가 있습니다. –

관련 문제