Tôi có một ListBox mà đang được lọc như thế này:Giữ SelectedItem trong bộ lọc của CollectionViewSource
var view = CollectionViewSource.GetDefaultView(FilterSource);
view.Filter = FilterCode;
Tôi chạy vào một vấn đề mà các SelectedItem
đang bị mất khi bộ lọc được sử dụng với mã viewmodel như thế này:
VM
{
public ObservableCollection<Model> Items{get;set;}
public Model SelectedItem
{
get{return _selectedItem;}
set{_selectedItem = value; NotifyPropertyChanged();}
}
}
Khi bộ lọc được áp dụng, SelectedItem
được thiết lập để null
. Tuy nhiên, tôi muốn giữ mục đã chọn đó trừ khi người dùng thực sự nhấp vào nó. Nếu bộ lọc bị xóa thì mục vẫn chọn vẫn được chọn. Mô hình có một tài sản IsSelected
, và tôi đã cố gắng suy nghĩ về cách để truy vấn tài sản IsSelected
. Tuy nhiên, sau đó ràng buộc của khung nhìn sẽ không hoạt động theo cách tôi mong đợi .... hoặc ít nhất tôi đang đi trong vòng kết nối nghĩ rằng nó không thể
nếu bộ sưu tập của bạn có một số khóa chính, bạn có thể lưu id này trước khi lọc và thử đặt selecteditem bằng id này sau khi lọc – blindmeis