Hello,
I am attempting to use a RadMenu in my application that is backed by a datamodel (which will be manipulated by our clients on the front end). To give you an idea of the size of the menu, it should start our relatively small. A "large" menu would have at most 5 TopLevel items. Each of those TopLevel items might have approximately 10 subitems. Some (maybe one-third) of those subitems will have a handful of children as well. It is client customizable, so it's hard to be sure but in our test environments, it's fair to say there is on the order of 100-ish total RadMenuItem's in the menu...
My problem is that when you hover (or click) one of the TopLevel items, the gui will not show the menu (most of the time). The creation of the objects has occurred and they exist but are not displayed. As you move your mouse to where the menu items should be displayed, they show up. If you close that node and come back afterwards it is displayed perfectly.
We are using several variations of this menu but they are all linked to bound collections and using either static item templates or item template selectors. Also we are using several container bindings to control properties like "Icon", "IsEnabled", "Command", etc...
Basically what I'm trying to say is.... the more we add, the slower it gets.
1) Has anybody else seen this behavior and are there ways to overcome it?
2) Does anybody know if it would be faster if I built RadMenuItem's directly in the code and then simply attached them to the menu at runtime so that all the template selectors and converters don't need to fire on mouseover? (not my preference)
3) Or is there a way to pre-render the menuitems once the DataContext is assigned so that I can avoid having to do it as the user requests the menu.
I am attempting to use a RadMenu in my application that is backed by a datamodel (which will be manipulated by our clients on the front end). To give you an idea of the size of the menu, it should start our relatively small. A "large" menu would have at most 5 TopLevel items. Each of those TopLevel items might have approximately 10 subitems. Some (maybe one-third) of those subitems will have a handful of children as well. It is client customizable, so it's hard to be sure but in our test environments, it's fair to say there is on the order of 100-ish total RadMenuItem's in the menu...
My problem is that when you hover (or click) one of the TopLevel items, the gui will not show the menu (most of the time). The creation of the objects has occurred and they exist but are not displayed. As you move your mouse to where the menu items should be displayed, they show up. If you close that node and come back afterwards it is displayed perfectly.
We are using several variations of this menu but they are all linked to bound collections and using either static item templates or item template selectors. Also we are using several container bindings to control properties like "Icon", "IsEnabled", "Command", etc...
Basically what I'm trying to say is.... the more we add, the slower it gets.
1) Has anybody else seen this behavior and are there ways to overcome it?
2) Does anybody know if it would be faster if I built RadMenuItem's directly in the code and then simply attached them to the menu at runtime so that all the template selectors and converters don't need to fire on mouseover? (not my preference)
3) Or is there a way to pre-render the menuitems once the DataContext is assigned so that I can avoid having to do it as the user requests the menu.