When I have row virtualization turned on and I group on a column that enables a scroll bar I get the following error when I scroll through it. I am binding to a component one silverlight datatable. When I turn of row virtualization this error never happens.
Message: Unhandled Error in Silverlight Application
Code: 4004
Category: ManagedRuntimeError
Message: System.InvalidOperationException: Cannot change ObservableCollection during a CollectionChanged or PropertyChanged event.
at System.Collections.ObjectModel.ObservableCollection`1.CheckReentrancy()
at System.Collections.ObjectModel.ObservableCollection`1.ClearItems()
at Telerik.Windows.Data.RadObservableCollection`1.ClearItems()
at Telerik.Windows.Data.ObservableItemCollection`1.ClearItems()
at System.Collections.ObjectModel.Collection`1.Clear()
at Telerik.Windows.Data.CollectionHelper.Reset(IEnumerable source, IList target)
at Telerik.Windows.Data.CollectionHelper.Synchronize(NotifyCollectionChangedEventArgs e, IEnumerable source, IList target)
at Telerik.Windows.Data.DataItemCollection.OnCollectionViewFilterDescriptorsCollectionChanged(NotifyCollectionChangedEventArgs e)
at Telerik.Windows.Data.DataItemCollection.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(Object sender, NotifyCollectionChangedEventArgs e)
at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)
at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
at Telerik.Windows.Data.RadObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection`1.ClearItems()
at Telerik.Windows.Data.RadObservableCollection`1.ClearItems()
at Telerik.Windows.Data.ObservableItemCollection`1.ClearItems()
at System.Collections.ObjectModel.Collection`1.Clear()
at Telerik.Windows.Data.CollectionHelper.Reset(IEnumerable source, IList target)
at Telerik.Windows.Data.CollectionHelper.Synchronize(NotifyCollectionChangedEventArgs e, IEnumerable source, IList target)
at Telerik.Windows.Data.DataItemCollection.OnFilterDescriptorsCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
at Telerik.Windows.Data.RadObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection`1.ClearItems()
at Telerik.Windows.Data.RadObservableCollection`1.ClearItems()
at Telerik.Windows.Data.ObservableItemCollection`1.ClearItems()
at System.Collections.ObjectModel.Collection`1.Clear()
at Telerik.Windows.Data.DataItemCollection.set_CollectionView(QueryableCollectionView value)
at Telerik.Windows.Data.DataItemCollection.ClearItemsSource()
at Telerik.Windows.Controls.GridView.GridViewGroupRow.OnItemsSourceChanged(Object oldValue, Object newValue)
at Telerik.Windows.Controls.DataControl.OnItemsSourcePropertyChanged(DependencyObject origin, DependencyPropertyChangedEventArgs args)
at Telerik.Windows.PropertyMetadata.<>c__DisplayClass1.<Create>b__0(DependencyObject d, DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.RaisePropertyChangeNotifications(DependencyProperty dp, Object newValue, Object oldValue)
at System.Windows.DependencyObject.ClearValueInternal(DependencyProperty dp)
at System.Windows.DependencyObject.ClearValue(DependencyProperty dp)
at Telerik.Windows.Controls.GridView.GridViewDataControl.ClearContainerForGroupOverride(DependencyObject element, Object item)
at Telerik.Windows.Controls.GridView.BaseItemsControl.Telerik.Windows.Controls.GridView.IGeneratorHost.ClearContainerForItem(DependencyObject container, Object item)
at Telerik.Windows.Controls.GridView.GridViewItemContainerGenerator.UnlinkContainerFromItem(DependencyObject container, Object item, Boolean isRecycled)
at Telerik.Windows.Controls.GridView.GridViewItemContainerGenerator.Remove(GeneratorPosition position, Int32 count, Boolean isRecycling)
at Telerik.Windows.Controls.GridView.GridViewItemContainerGenerator.System.Windows.Controls.Primitives.IRecyclingItemContainerGenerator.Recycle(GeneratorPosition position, Int32 count)
at Telerik.Windows.Controls.GridView.GridViewVirtualizingPanel.CleanupRange(IList children, IItemContainerGenerator generator, Int32 startIndex, Int32 count)
at Telerik.Windows.Controls.GridView.GridViewVirtualizingPanel.CleanupContainers(Int32 firstViewport, BaseItemsControl itemsControl)
at Telerik.Windows.Controls.GridView.GridViewVirtualizingPanel.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight)