异常原因 - 添加的项目未显示在给定索引中
本文关键字:显示 索引 项目 添加 异常 | 更新日期: 2023-09-27 18:30:42
我的视图模型中有一个绑定到视图中DataGrid
的ICollectionView
。当我执行添加/删除操作时。我得到这个例外。
我无法更改CollectionView
.谁能告诉我这个异常的原因,这样我就可以找到解决方案。
例外:
"添加的项目未显示在给定索引中"
堆栈跟踪:
at System.Windows.Data.ListCollectionView.AdjustBefore(NotifyCollectionChangedAction action, Object item, Int32 index) at System.Windows.Data.ListCollectionView.CommitNew() at System.Windows.Controls.DataGrid.CommitRowItem() at System.Windows.Controls.DataGrid.OnExecutedCommitEdit(ExecutedRoutedEventArgs e) at System.Windows.Input.CommandBinding.OnExecuted(Object sender, ExecutedRoutedEventArgs e) at System.Windows.Input.CommandManager.ExecuteCommandBinding(Object sender, ExecutedRoutedEventArgs e, CommandBinding commandBinding) at System.Windows.Input.CommandManager.FindCommandBinding(CommandBindingCollection commandBindings, Object sender, RoutedEventArgs e, ICommand command, Boolean execute) at System.Windows.Input.CommandManager.FindCommandBinding(Object sender, RoutedEventArgs e, ICommand command, Boolean execute) at System.Windows.Input.CommandManager.OnExecuted(Object sender, ExecutedRoutedEventArgs e) at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) at System.Windows.Input.RoutedCommand.ExecuteImpl(Object parameter, IInputElement target, Boolean userInitiated) at System.Windows.Controls.DataGrid.EndEdit(RoutedCommand command, DataGridCell cellContainer, DataGridEditUnit editUnit, Boolean exitEditMode) at System.Windows.Controls.DataGrid.OnCurrentCellChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
谢谢
而我遇到了同样的问题"添加的项目未出现在给定索引'0'我正在寻找它,发现了这个未解决的帖子。
在我的个人文件中,我向 Collescion Asynchon 提供数据,所以我所要做的就是在其中添加一个 SynchronizationContext。
在我用结果填充可观察集合之前,我只需要:
_synchronizationContext.Acquire();
(ObservableCollectionName).Add(YourItem);
_synchronizationContext.Release();
即使这是一个旧帖子,我也希望它至少能帮助其他人:=)