When I update the MRU list in the application menu and then open the application menu again I have to wait around 10 seconds till the menu finally opens.
So I'm updating the list like this
this.Ribbon.ApplicationMenu.RecentItems.Clear(); for (int i = 0; i < m_MRU.Count; i++) { ButtonTool bt = new ButtonTool(); bt.Click += new RoutedEventHandler(AppMenuMRU_Click); bt.Caption = m_MRU.ElementAt(i); this.Ribbon.ApplicationMenu.RecentItems.Add(bt); }
then wait a bit, then click on the orb and then just sit and wait. After 10 secs the menu finally opens.
Bug in XamRibbon?
Edit: using Infra 11.1
Yes I pressed F5 (i.e. ran through the debugger). I'm using VS 2010 SP1 if it matters. And yes I would expect to see something in the output window if there is a 1st chance exception. So nothing is in the output window during that interval (assemblies being loaded, etc.)?
Did you start the program from within VisualStudio using F5 ?
Also I don't see any output about 1st chance exceptions (you normally see them in the output window).
I ran the project but when I open the application menu there were no entries so I used the Open item in the app menu to choose items (I chose 5 files). I still didn't see any delay even if I closed the app and reran it (which then had recent items). I can only guess that there is a 1st chance exception occuring (i.e. a handled exception) and the delay you are seeing is the delay of VS loading the debug information.
I was assembling a test project for you and while doing that I noticed that the behavior (also the other problem with the collapsed ribbon) only occurs when the app runs in the debugger (VS2010Prof). When running the app.exe from command line there is no delay.
So it doesn't seem so critical anymore but can you still take a look? How can I send you the test project?
Edit: added source
I'm not aware of any such issues. I could see there could be some problem if you add lots of mru items as those panels are not virtualized but typically one puts a cap on the number of mru items maintained. Please provide a sample that demonstrates the problem and we can look into it.