WPF复合应用程序-选项卡区域-视图未获得焦点

WPF复合应用程序-选项卡区域-视图未获得焦点,wpf,composite,Wpf,Composite,我刚刚开始为WPF使用复合应用程序库。在我的shell中,tabcontrol中有一个区域,用于显示不同类型的视图。我还有一个工具栏,其中的按钮连接到命令,例如save。这些命令绑定在我的视图中,视图具有canExecute和execute方法 其思想是,当我单击选项卡时,应根据视图中的方法启用或禁用工具栏按钮。问题是当我切换选项卡时,视图没有获得焦点,并且该视图的canExecute没有被调用。工具栏按钮保持与先前选定视图中的命令的连接,并以这种方式提醒,直到我实际单击新视图为止 我现在很难理

我刚刚开始为WPF使用复合应用程序库。在我的shell中,tabcontrol中有一个区域,用于显示不同类型的视图。我还有一个工具栏,其中的按钮连接到命令,例如save。这些命令绑定在我的视图中,视图具有canExecute和execute方法

其思想是,当我单击选项卡时,应根据视图中的方法启用或禁用工具栏按钮。问题是当我切换选项卡时,视图没有获得焦点,并且该视图的canExecute没有被调用。工具栏按钮保持与先前选定视图中的命令的连接,并以这种方式提醒,直到我实际单击新视图为止


我现在很难理解如何强制视图获得焦点。我试着在选项卡选择发生变化时查看选项卡的内容,并在那里设置焦点,但这并没有什么不同。有什么想法吗?

尝试侦听
视图.Loaded
事件,然后在处理程序中调用
视图.focus()
。在初始化和加载元素之前,Wpf不会接受焦点请求。由于SelectionChanged事件是在加载视图之前引发的,因此焦点请求将被忽略。每次隐藏元素后显示该元素时,都会调用加载的事件


有关focus的更多信息,请参阅本文: