Hi,
i have a case here where i have a dockmanager with a splitpane and a content pane inside. i have added a commandbinding. the content pane contains a xamdatagrid. the main window has a usual menu on top. with a category parent and some submenuitems that is bound to the command.
it used to work:
i click into the xamdatagrid
i click into the menu
the contentpane-window keeps it's focus
the command is available.
but now after the change i made it no more works:
the menu opens and commands are available
short time after the content-pane window looses it's focus (window title goes gray)
the menu entries mapped to the commands switch off.
menu item can not be pressed.
i tried to isolate the problem but no success until now. thus i ask you wether you can imagine a case the content pane looses it's focus when opening a main-window-menu.
i'll continue investigation but maybe you have some tip. it turns out to be quite sophisticated.
Some tips about the app:
i never call any focus-routine. the change after it no more worked 'only' included some model changes in the viewmodels and the controls. some of the controls are created in the code behind. there are controltemplates for splitpanes and contentpanes included which are loaded in codebehind from the resources. the command bindings are created in code behind too.
i observed cases where the datacontext of a control was set but i never received a DataContextChangedEvent. I could imagine some exception broke the event handler chain and was processed with a catch block.
Technically when you click on the menu keyboard focus is leaving the control and going to the menu although in terms of logical focus the element within the pane is still the focused element of the pane. There was an issue a little while back where the command bindings were not being routed to the control within the active pane although I think that was in a nested dockmanager situation. You can try downloading the latest hotfix and see if you still have the same issue. If you do and you can provide a project that demosntrates the issue we can look into it further.