I have a grid bound to a list of objects that are updated with real time data from Bloomberg. Each object has an event exposed which I bind to UltraGridRow.Refresh and whenever the object is updated I invoke this event which in turn refreshes the row. Once in a blue moon I receive an uncaught exception from UIElement when I invoke this event(equivalent to calling UltraGridRow.Refresh()). Since Refresh amounts to invalidating the row, this is an asynchronous operation for which I should not have to invoke this call on the UI thread, so I think that rules out any threading issues. I checked out the source and couldn't really spot anything which would result in a NullReferenceException, do you have any idea what might be causing this?
at Infragistics.Win.UIElement.GetDescendant(Type type, Object[ contexts)
at Infragistics.Win.UltraWinGrid.UltraGridRow.GetUIElement(RowScrollRegion rsr, ColScrollRegion csr, Boolean verifyElements)
at Infragistics.Win.UltraWinGrid.GridItemBase.InvalidateItem(RowScrollRegion rsr, ColScrollRegion csr, Boolean recalcRects)
at Infragistics.Win.UltraWinGrid.GridItemBase.InvalidateItemAllRegions(Boolean recalcRects)
at Infragistics.Win.UltraWinGrid.UltraGridRow.Refresh(RefreshRow action, Boolean refreshDescendantRows)
at Infragistics.Win.UltraWinGrid.UltraGridRow.Refresh()
Hi,
bperkins24 said:Since Refresh amounts to invalidating the row, this is an asynchronous operation for which I should not have to invoke this call on the UI thread, so I think that rules out any threading issues.
This is not true. You are assuming that all Refresh does it invalidate the row. But you can see from the call stack of the exception that you posted here that this is not true. There is a lot more going on, and none of it is thread-safe. So my guess is that this is a threading issue.
Mike Saltzman"]This is not true. You are assuming that all Refresh does it invalidate the row. But you can see from the call stack of the exception that you posted here that this is not true. There is a lot more going on, and none of it is thread-safe. So my guess is that this is a threading issue.