I've got a problem where the "LoadCustomization()" method of the xamDataGrid does something totally different if I begininvoke it on the dispatcher with a *high* priority than it does with a *lower* priority. All other factors are the same, including the customization xml itself.
The field layouts are already initialized in both cases.
The difference in behavior between the two may be on account of whether another operation (also seemingly executed via the dispatcher) has taken place or not: Infragistics.Windows.DataPresenter.GridUtilities.ProcessAsyncInvalidations()
The more preferable behavior from LoadCustomizations() occurs in the scenario where it is executed on the dispatcher after GridUtilities.ProcessAsyncInvalidations()
Can someone tell me how to properly sequence and execute LoadCustomizations()? Is there state-ful information on the XamDataGrid that will tell me if any "async invalidations" are pending? (So I won't run LoadCustomizations just yet)?
This is taking up plenty of development time. If I overlooked some docs, please point me to them. Thanks for the help,
David
Maria,
Sorry for the delay. I've been able to manage to get by with the RecordContainerGenerationMode of "PreLoad". It resolves a lot of my customization issues and was a good workaround for a time.
However, I'm starting to see performance problems in the XamDataGrid because of "PreLoad" and now I must return to attempt using "Recycle" again. After I revert back to using "Recycle", I am seeing problems with the initialization of the XamDataGrid customizations.
I realize that this post is confusing and that is because the problem is confusing. I am unable to find a FieldLayout event that presents me with the right opportunity to consistently load customizations. Therefore by trial-and-error I'm trying to send my customization requests to the dispatcher with the right priority. I think my problems would be simpler if I could get away from relying on the dispatcher and find an explicit event (or property change notification) that would tell me when I was safe to load datagrid customizations.
In order to take some confusion out of this conversation, I'm going to punt to another thread. Please see: http://ko.infragistics.com/community/forums/p/107891/508320.aspx
Hopefully that one is a bit less confusing than what I had tried to ask back in July.
Hello David,
I have been looking into your description and I am not sure what is the behavior when you are using the LoadCustomizations() with different priority level. Could you please let me know what is the difference that you have mentioned?
ProcessAsyncInvalidations is executed asynchronously to prevent triggering multiple layout passes which can reflect the performance of the application. The dispatcher priority level for this operation is set to DataBind so you may consider setting the priority of the LoadCustomization operation to a lower priority level.