이 같은 필터되고있는 목록 상자가 있습니다CollectionViewSource
var view = CollectionViewSource.GetDefaultView(FilterSource);
view.Filter = FilterCode;
나는 필터가이 같은 뷰 모델 코드로 사용되는 경우 SelectedItem
이 소실되는 문제로 실행하고를 : 필터가 적용되면
VM
{
public ObservableCollection<Model> Items{get;set;}
public Model SelectedItem
{
get{return _selectedItem;}
set{_selectedItem = value; NotifyPropertyChanged();}
}
}
는 SelectedItem
는 null
로 설정된다. 그러나 사용자가 실제로 클릭하지 않으면 선택한 항목을 유지하려고합니다. 필터가 제거 된 경우 선택한 항목을 계속 선택해야합니다. 모델에는 IsSelected
속성이 있으며 IsSelected
속성을 쿼리하는 방법을 생각해 봤습니다. 그러나, 다음 뷰의 내가 기대 .... 또는 적어도 내가 생각 원에 갈거야 방법을 작동하지 않을 바인딩 그것을 할 수 없습니다 여기에 수정을 달성 내 유일한 방법이 (가) SelectionChanged
이벤트에 다음은
기본 키가 somekind 인 경우 필터링 전에이 ID를 저장할 수 있으며 필터링 후 선택한 ID를 사용하여 선택한 항목을 설정할 수 있습니다 – blindmeis