2017-11-21 1 views
1

ReactiveList에서 항목을 삭제하는 가장 좋은 방법은 무엇입니까?Reactive UI 취소 ReactiveList에서 항목 제거

이이 목록은 두 가지 방법으로 가입되어
ReactiveList<SomeObject> myList; 

:

this.WhenAnyValue(x => x.myList.Count).Subscribe(_ => this.DoSomething()); 
myList.BeforeItemsRemoved.Subscribe(BeforeItemRemoved); 

내가 BeforeItemRemoved 방법에 어떤 조건을 확인 whant, 그 목록에서이 개체를 제거 취소 할 수 있습니다, 그래서 내가 어떻게 할 수 내가 가진 BeforeItemsRemoved에서 항목을 삭제 하시겠습니까?

+0

예외를 발생 시키려고 했습니까? 좋은 답변이 아닙니다. – kenny

+0

이 솔루션에 대한 결과는 받아들이 기가 어렵다는 것을 의미합니다. – Carlos28

+0

@kenny이 목록은 선택한 항목으로 multiselect combobox에 바인드되어 해당 항목이 목록에서 제거되지는 않았지만 더 이상 선택되지 않았습니다. 더 이상 콤보 상자 – Carlos28

답변

2

BeforeItemsRemoved는 항목이 목록에서 실제로 제거되기 전에 트리거 된 관찰 가능 항목이지만 제거되지 않도록 할 수는 없습니다. INotifyPropertyChanging 및 INotifyPropertyChanged와 동일한 방식으로 작동합니다. 작업 전에 트리거를 얻습니다.

ReactiveList를 확장하여 필요한 항목을 얻거나 BeforeItemsRemoved에 항목을 저장하고 ItemsRemoved 트리거에 다시 추가 할 수 있습니다 (솔루션보다 더 많은 해결 방법).