2010-03-16 3 views
0

이상한 "문제"가 있습니다. 누군가 이유를 설명해 줄 수 있습니까?ObservableCollection의 ListBox 문제 해결 <T>

ObservableCollection에 같은 값의 항목을 두 번 이상 올리면 ListBox에있는 해당 값의 선택이 제대로 작동하지 않습니다.

사실, 항목을 클릭 할 때 ListBox가 수행하는 작업 (단일 항목 선택에서도) : ObservableCollection 컬렉션에서 일치하는 값을 가진 첫 번째 항목을 선택합니다. 따라서 동일한 값을 가진 여러 항목이 컬렉션에있는 경우 첫 번째 항목 만 선택됩니다.

+0

http://stackoverflow.com/questions/2272103/wpf-listview-keyboard-navigation-problem하는 데 도움이 – Amsakanna

답변

2

를 사용한다면

이 암시 될 것이다. 각각의 경우에 새 인스턴스를 작성하거나 Equal 함수를 대체하고 항목을 식별하기위한 논리를 작성해야합니다. WPF ListBox는 항목이 동일한 지 확인하기 위해 Object.Equal 함수를 호출합니다.

희망이

0

각 개체를 보관할 새 개체를 만들어야합니다.

e.e.

MyCollection.Add(new MyContainer() { Data = myObject }); 

이렇게하면 고유 한 컨테이너가 있으므로 목록 상자에서 개체를 올바르게 선택합니다. 당신이 컬렉션에 입력 된 객체가 같은 참조를 가지고 있기 때문에 당신이 ViewModels