I upgraded the Infragistics WPF controls from 2010 Vol 3 to 2011 Vol. 2 with Service Release 2125 and I am getting null reference exceptions from VirtualizingDataRecordCellPanel.VerifyCellElements. This is when a Measure operation is performed.
Is anybody else seeing this?
Notes:
1. As far as I can tell, this is only happening in Arabic (when setting the thread culture and UI Culture to "ar-SA"). In English, everything works fine.
2 . Looking through the code with Reflector, it seems that null checks are performed in some places in that class, but not in all of them. It seems like a null check is missing from VerifyCellElements().
My stack trace at the point the exception is thrown looks like this:
InfragisticsWPF4.DataPresenter.v11.2.dll!Infragistics.Windows.DataPresenter.VirtualizingDataRecordCellPanel.VerifyCellElements() Line 3001 + 0x4 bytes C# InfragisticsWPF4.DataPresenter.v11.2.dll!Infragistics.Windows.DataPresenter.VirtualizingDataRecordCellPanel.MeasureOverride(System.Windows.Size availableSize) Line 1989 C# PresentationFramework.dll!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size availableSize) + 0x65b bytes PresentationCore.dll!System.Windows.UIElement.Measure(System.Windows.Size availableSize) + 0x6e7 bytes PresentationFramework.dll!MS.Internal.Helper.MeasureElementWithSingleChild(System.Windows.UIElement element, System.Windows.Size constraint) + 0xbc bytes PresentationFramework.dll!System.Windows.Controls.ContentPresenter.MeasureOverride(System.Windows.Size constraint) + 0x42 bytes PresentationFramework.dll!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size availableSize) + 0x65b bytes PresentationCore.dll!System.Windows.UIElement.Measure(System.Windows.Size availableSize) + 0x6e7 bytes InfragisticsWPF4.v11.2.dll!Infragistics.Windows.Controls.CardPanel.MeasureOverride(System.Windows.Size availableSize) + 0xd5 bytes PresentationFramework.dll!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size availableSize) + 0x65b bytes PresentationCore.dll!System.Windows.UIElement.Measure(System.Windows.Size availableSize) + 0x6e7 bytes PresentationFramework.dll!System.Windows.Controls.Control.MeasureOverride(System.Windows.Size constraint) + 0xcd bytes InfragisticsWPF4.DataPresenter.v11.2.dll!Infragistics.Windows.DataPresenter.DataRecordCellArea.MeasureOverride(System.Windows.Size availableSize) Line 224 + 0x25 bytes C# PresentationFramework.dll!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size availableSize) + 0x65b bytes PresentationCore.dll!System.Windows.UIElement.Measure(System.Windows.Size availableSize) + 0x6e7 bytes PresentationFramework.dll!MS.Internal.Helper.MeasureElementWithSingleChild(System.Windows.UIElement element, System.Windows.Size constraint) + 0xbc bytes PresentationFramework.dll!System.Windows.Controls.ContentPresenter.MeasureOverride(System.Windows.Size constraint) + 0x42 bytes PresentationFramework.dll!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size availableSize) + 0x65b bytes PresentationCore.dll!System.Windows.UIElement.Measure(System.Windows.Size availableSize) + 0x6e7 bytes PresentationFramework.dll!System.Windows.Controls.Grid.MeasureCell(int cell, bool forceInfinityV) + 0x2b4 bytes PresentationFramework.dll!System.Windows.Controls.Grid.MeasureCellsGroup(int cellsHead, System.Windows.Size referenceSize, bool ignoreDesiredSizeU, bool forceInfinityV) + 0xe0 bytes PresentationFramework.dll!System.Windows.Controls.Grid.MeasureOverride(System.Windows.Size constraint) + 0x5a2 bytes PresentationFramework.dll!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size availableSize) + 0x65b bytes PresentationCore.dll!System.Windows.UIElement.Measure(System.Windows.Size availableSize) + 0x6e7 bytes InfragisticsWPF4.v11.2.dll!Infragistics.Windows.Controls.CardPanel.MeasureOverride(System.Windows.Size availableSize) + 0xd5 bytes PresentationFramework.dll!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size availableSize) + 0x65b bytes PresentationCore.dll!System.Windows.UIElement.Measure(System.Windows.Size availableSize) + 0x6e7 bytes PresentationFramework.dll!System.Windows.Controls.Control.MeasureOverride(System.Windows.Size constraint) + 0xcd bytes InfragisticsWPF4.DataPresenter.v11.2.dll!Infragistics.Windows.DataPresenter.RecordPresenter.MeasureOverride(System.Windows.Size availableSize) Line 1152 C# PresentationFramework.dll!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size availableSize) + 0x65b bytes PresentationCore.dll!System.Windows.UIElement.Measure(System.Windows.Size availableSize) + 0x6e7 bytes InfragisticsWPF4.DataPresenter.v11.2.dll!Infragistics.Windows.DataPresenter.GridViewPanelFlat.GenerationCache.GenerateNextElement(bool isHeader) Line 2046 C# InfragisticsWPF4.DataPresenter.v11.2.dll!Infragistics.Windows.DataPresenter.GridViewPanelFlat.GenerationCache.GenerateRecordsHelper() Line 2145 + 0xb bytes C# InfragisticsWPF4.DataPresenter.v11.2.dll!Infragistics.Windows.DataPresenter.GridViewPanelFlat.GenerationCache.GenerateTopFixedRecords() Line 2236 + 0x9 bytes C# InfragisticsWPF4.DataPresenter.v11.2.dll!Infragistics.Windows.DataPresenter.GridViewPanelFlat.GenerationCache.GenerateAllRecords() Line 1623 + 0x9 bytes C# InfragisticsWPF4.DataPresenter.v11.2.dll!Infragistics.Windows.DataPresenter.GridViewPanelFlat.MeasureOverride(System.Windows.Size availableSize) Line 779 + 0xe bytes C#...
Hi,
I have created a private case for you so that you could provide me with the additional details concerning the exception, including the stack trace and the resources being used to convert the xamDataGrid to Arabic in case they have some bearing.
We will continue to work thru the case.
Stefan,
Thank you for the quick reply. Can we set up a GoToMeeting session or something similar to show you what is going on? I cannot reproduce it with your simple application, but we set quite a few options on the XamDataGrid and I don't know which combination of settings affects what I'm seeing. It would take me quite a while to try to reproduce it in a much simpler test application.
Is there a way to open a support ticket pointing back to this thread that would go directly to you?
Hello,
Thank you for your post. I have been looking into you requirement and I created a sample project for you following your scenario and everything seems to work ok on my side. If the sample doesn’t satisfies all your needs feel free to modify it, so it reproduces your behavior and send it back to me for further investigation.
Looking forward for your reply.