【发布时间】:2020-08-02 06:33:11
【问题描述】:
我有与 ICollectionView 关联的 ObserveCollection(实体) 一切正常,直到我尝试删除该条目。点击“删除”按钮后,界面没有更新。 如果我设置 ObserveCollection 一切正常
private ICollectionView _taskview;
public ICollectionView TasksView
{
get { return _taskview; }
set
{
_taskview = value;
OnPropertyChanged("TaskView");
}
}
public ICommand DeleteTask
{
get
{
return new DelegateCommand(() =>
{
_context.Task.Attach(SelectTask);
_context.Task.Remove(SelectTask);
_context.SaveChanges();
Tasks = new ObservableCollection<TaskModel>(_context.Task);
TasksView = CollectionViewSource.GetDefaultView(Tasks);
});
}
}
public HomeViewModel(Window window)
{
this.window = window;
Tasks = new ObservableCollection<TaskModel>(_context.Task);
TasksView = CollectionViewSource.GetDefaultView(Tasks);
}
<ListBox Grid.Row="1" Grid.RowSpan="2" Grid.Column="0"
SelectionMode="Extended"
ItemsSource="{Binding TasksView}"
SelectedItem="{Binding SelectTask}">
</ListBox>
【问题讨论】:
-
ObservableCollectionimplements 有事件CollectionChanged表示“重绘”。坚持使用它,否则在删除操作后调用OnPropertyChanged。 -
我也试过了,但是删除后界面中的记录数还是没有变化
标签: c# wpf mvvm collections entity