Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
1564
BringRecordIntoView -> Lock
posted

 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 ?

  • 10
    Offline posted

    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.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.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