내보기 모델에 ObservableCollection의 "things"가 있고 추가로 ObservableCollections에있는 해당 목록의 하위 집합이 일부 필터링되었습니다. 화면에 두 개의 DataGrid가 있고 각각 ObservableCollections 하위 집합 중 하나에 바인딩했습니다.WPF Datagrid는 항목이 격자에없는 경우 SelectedItem 변경 사항을 무시합니다.
두 DataGrid의 SelectedItem 속성은 뷰 모델의 SelectedThing 속성에 바인딩됩니다.
프로그래밍 방식으로 또는 두 격자 중 하나에서 행을 선택하여 SelectedThing을 변경하면 예상대로 변경됩니다. SelectedThing이 가리키는 항목이 모눈에있는 경우 모눈은 선택한 항목을 업데이트합니다.
그래서 여기 내 문제가 ... SelectedThing이 그리드의 ItemSource에 존재하지 않는다면 선택은 아무 일도 일어나지 않고 SelectedThing이 변경되기 전의 상태로 유지됩니다. 이상적으로 기본보기 모델 속성이 더 이상 그리드의 ItemsSource에서 무언가로 설정되지 않은 경우 선택 사항을 지우고 싶습니다 ... 누구든지 제안 사항이 있습니까?