Hi,
I use the method "BringRecordIntoView" andin some cases, it LOCK the application !!!! The method does not respond !
Here is some code:
Dispatcher.Invoke(DispatcherPriority.Send, (DelegateInvoker)delegate { AsyncMediaSelectionChanged(); });
void AsyncMediaSelectionChanged(){
DataRecord selectedRecord = xdgMedias.GetRecordFromDataItem(Host.MediaService.CurrentMedia, false); if (selectedRecord != null) xdgMedias.BringRecordIntoView(selectedRecord);
}
Please, can you help me ?
The same problem here, with XamDataGrid v10.1
I am calling BringRecordIntoView() from XamDataGrid.Records.CollectionChanged event handler. Occasionally the grid goes into an infinite loop, freezes the application and maxes out the CPU.
I do not have a deterministic scenario for reproducing the problem, but it happens quite often on different PCs. Grid has the group by, filtering and fixed record features enabled. Rows are of variable height and sized to contents.
Included below is a partial call stack taken when the problem was occurring.
Can you please have a look and advise?
Infragistics3.Wpf.DataPresenter.v10.1.dll!Infragistics.Windows.DataPresenter.Record.Infragistics.Windows.Helpers.ISparseArrayMultiItem.ScrollCount.get() + 0x6 bytes
Infragistics3.Wpf.v10.1.dll!Infragistics.Windows.Helpers.SparseArray.GetItemAtScrollIndexHelper(int scrollIndex = 51, Infragistics.Windows.Helpers.ICreateItemCallback createItemCallback = {Infragistics.Windows.DataPresenter.MainRecordSparseArray}, bool traverseHierarchy = true, out int offsetIntoItem = -1) + 0x1f8 bytes
Infragistics3.Wpf.v10.1.dll!Infragistics.Windows.Helpers.SparseArray.GetItemAtScrollIndex(int scrollIndex, Infragistics.Windows.Helpers.ICreateItemCallback createItemCallback) + 0x17 bytes
Infragistics3.Wpf.DataPresenter.v10.1.dll!Infragistics.Windows.DataPresenter.MainRecordSparseArray.GetItemAtScrollIndex(int scrollIndex) + 0x1b bytes
Infragistics3.Wpf.DataPresenter.v10.1.dll!Infragistics.Windows.DataPresenter.ViewableRecordCollection.GetRecordAtScrollPosition(int index) + 0x61 bytes
Infragistics3.Wpf.DataPresenter.v10.1.dll!Infragistics.Windows.DataPresenter.Record.Infragistics.Windows.Helpers.ISparseArrayMultiItem.GetItemAtScrollIndex(int scrollIndex) + 0x5c bytes
Infragistics3.Wpf.v10.1.dll!Infragistics.Windows.Helpers.SparseArray.GetItemAtScrollIndexHelper(int scrollIndex, Infragistics.Windows.Helpers.ICreateItemCallback createItemCallback, bool traverseHierarchy, out int offsetIntoItem) + 0x265 bytes
Infragistics3.Wpf.DataPresenter.v10.1.dll!Infragistics.Windows.DataPresenter.FlatScrollRecordsCollection.this[int].get(int index) + 0x24 bytes
Infragistics3.Wpf.DataPresenter.v10.1.dll!Infragistics.Windows.DataPresenter.FlatScrollRecordsCollection.EnsureItemsAllocated(int startIndex = 260, int count = 1) + 0x20 bytes
Infragistics3.Wpf.DataPresenter.v10.1.dll!Infragistics.Windows.DataPresenter.FlatScrollRecordsCollection.EnsureItemsAllocated(Infragistics.Windows.DataPresenter.GridViewPanelFlat.GenerationCache generatorCache) + 0x25 bytes
Infragistics3.Wpf.DataPresenter.v10.1.dll!Infragistics.Windows.DataPresenter.FlatScrollRecordsCollection.BeginMeasure(Infragistics.Windows.DataPresenter.GridViewPanelFlat.GenerationCache generatorCache) + 0x25 bytes
Infragistics3.Wpf.DataPresenter.v10.1.dll!Infragistics.Windows.DataPresenter.GridViewPanelFlat.GenerationCache.GenerationCache(Infragistics.Windows.DataPresenter.GridViewPanelFlat panel, bool isVertical, System.Windows.Size constraint, int overallScrollPosition, Infragistics.Windows.Selection.ScrollDirection scrollDriection = Increment) + 0x2bf bytes
Infragistics3.Wpf.DataPresenter.v10.1.dll!Infragistics.Windows.DataPresenter.GridViewPanelFlat.MeasureOverride(System.Windows.Size availableSize) + 0x5bf bytes
PresentationFramework.dll!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size availableSize) + 0x1d0 bytes
PresentationCore.dll!System.Windows.UIElement.Measure(System.Windows.Size availableSize) + 0x1ec bytes
PresentationCore.dll!System.Windows.ContextLayoutManager.UpdateLayout() + 0x1c4 bytes
PresentationCore.dll!System.Windows.UIElement.UpdateLayout() + 0x16 bytes
Infragistics3.Wpf.DataPresenter.v10.1.dll!Infragistics.Windows.DataPresenter.GridViewPanelFlat.EnsureRecordIsVisible(Infragistics.Windows.DataPresenter.Record record = {Infragistics.Windows.DataPresenter.DataRecord}) + 0x89 bytes
Infragistics3.Wpf.DataPresenter.v10.1.dll!Infragistics.Windows.DataPresenter.GridViewPanel.Infragistics.Windows.DataPresenter.IViewPanel.EnsureRecordIsVisible(Infragistics.Windows.DataPresenter.Record record) + 0x1a bytes
Infragistics3.Wpf.DataPresenter.v10.1.dll!Infragistics.Windows.DataPresenter.DataPresenterBase.BringRecordIntoView(Infragistics.Windows.DataPresenter.Record record) + 0x51 bytes