2014-03-31 2 views
2

목록에서 항목을 제거하면 MvxListView가 새로 고쳐지지 않습니다.MvvmCross MvxListView가 항목 삭제시 새로 고침을하지 않습니다.

내 목록 (공상 아무것도) : 수행

Items.RemoveAll(x => x.Id == item.Id); 
RaisePropertyChanged(() => Items); 

코드를 작업 :

Items = Items.Where(x => x.Id != item.Id).ToList(); 

그것은 RaisePropertyChanged()처럼 보인다

private List<Item> items = new List<Item>(); 
public List<Item> Items 
{ 
    get { return items; } 
    set { items = value; RaisePropertyChanged(() => Items); } 
} 

작동하지 않는 코드는

함수는 뷰 모델 내의 격리 된 함수에서 호출 될 때 원하는 효과를 내지 않지만 왜?

+0

RaisePropertyChanged()가 제대로 작동하기 때문에 mvvmcross와 관련하여 문제가 있다고 생각합니다. MvvmCross 3.0.14를 사용 중입니다. – choper

+1

목록 대신 관찰 가능한 컬렉션을 사용하도록 전환하십시오. 자세한 내용은 http://stackoverflow.com/questions/22161149/mvvmcross-ios-uitableview-doesnt-update-on-property-changed/22161150#22161150을 참조하십시오. – Stuart

답변

2

ObservableCollection을 사용하여 MvxListView 업데이트 내용을 만들어야합니다.

private ObservableCollection<Item> items = new ObservableCollection<Item>(); 
public ObservableCollection<Item> Items 
{ 
    get { return items; } 
    set { items = value; RaisePropertyChanged(() => Items); } 
} 
관련 문제