0
설명서에 따르면 컬렉션 항목 추가/제거를 전파하기 위해 ListCollectionView의 소스 컬렉션에 INotifyCollectionChanged를 구현해야합니다. 이 작업 방법ILIst에 ListCollectionView의 소스 컬렉션으로 항목 추가
var parent = new Parent();
parent.Childs = new List<Child>();
parent.Childs.Add(new Child());
parent.Childs.Add(new Child());
parent.Childs.Add(new Child());
var view = new ListCollectionView(parent.Childs);
Assert.AreEqual(3, parent.Childs.Count);
Assert.AreEqual(3, view.Count);
parent.Childs.Add(new Child());
Assert.AreEqual(4, parent.Childs.Count);
Assert.AreEqual(4, view.Count);
는 아무도 설명 할 수주십시오 그래서 나는 그의 작업 방식을 이해하지?
원본 컬렉션이 INotifyCollectionChanged 이벤트가없는 IList 일 때 항목이 뷰에 추가됩니다. 뷰는 항목이 추가 된 것을 어떻게 알 수 있습니까? –
이것은 놀라운 일이 아닙니다. 왜 그것이 뷰 /리스트에 추가되지 않을까요? INotifyCollectionChanged는 컬렉션이 데이터 바인딩 일 때만 중요합니다. – mm8
나를 위해 그것이 정말로있다. 원본 목록 (ILIst)에는 추가 된 항목을보기 (ListCollectionView)에 알리는 이벤트가 없으므로 설명서에 따르면 소스 목록에 INotifyCollectionChanged가 구현되어있어 이런 일이 일어나고 나에게 의미가 있다고합니다. 그래서 내 질문은 어떻게 ListCollectionView 항목이 추가 된 것을 알 수 있습니다. 이것이 항상 이렇게 작동하고 있는지 확인할 수 있습니까? –