I have a PropertyEditor fpr a MultiLine ButtonEdit control. It is working well in simple forms. Now I have one rather complicated form with several ListViews in ListViewAndDetailView-mode. When I use my PropertyEditor in this form, I get extremely low performance when typing inside the TextEdit of the base ButtonEdit control. There is a considerable delay after every keypress.
I debugged in the XAF sources and saw that there are 30 BarManagerHook-instances involved in every keypress. The bars that the hooks belong to are bars belonging to views in the whole mask (not only the view the current ButtonEdit belongs to). I could not achieve to find out if these BarManagerHooks really cause the problem, but it is the only hint I could get.
So my question is: Could it be that these 30 BarManagerHooks cause considerable performance leaks in a ButtonEdit? If so, is there a way to "switch them off"? If not, can you give me any further advice on how I could go on analyzing the problem?
Thank you very much,
after a lot of profiling I realized that the problem lies in the call of ObjectSpace.SetModified() upon every key press. I found a relatively new property of DetailView: RaiseObjectChangedOnControlValueChanged. Setting this to true eliminates the problem.