C# 对框架使用路由命令时出现问题

C# 对框架使用路由命令时出现问题,c#,wpf,command,routed-commands,C#,Wpf,Command,Routed Commands,我的WPF项目有一个带有许多按钮和框架的主窗口。我在框架内显示一个页面,上面的按钮使用路由命令来调用下面页面中的方法。到目前为止和我在一起 在我换页面之前,一切正常。尽管这个新页面有与命令相关的方法,但路由命令似乎仍在上一页中查找方法。当我在命令本身中设置了typeof()参数时,我不知道为什么会发生这种情况: public static RoutedCommand cmd = new RoutedCommand("Foo", typeof(BarPage)); 我怎样才能解决这个问题?我注意

我的WPF项目有一个带有许多按钮和框架的主窗口。我在框架内显示一个页面,上面的按钮使用路由命令来调用下面页面中的方法。到目前为止和我在一起

在我换页面之前,一切正常。尽管这个新页面有与命令相关的方法,但路由命令似乎仍在上一页中查找方法。当我在命令本身中设置了typeof()参数时,我不知道为什么会发生这种情况:

public static RoutedCommand cmd = new RoutedCommand("Foo", typeof(BarPage));
我怎样才能解决这个问题?我注意到在新选择的页面中的文本框上设置焦点可以纠正问题,但是这不是一个可行的解决方案,因为页面并不总是包含字段。我也尝试过在页面上设置焦点,但问题仍然存在


提前感谢。

不确定这是否有帮助,但您可以尝试在加载新页面后调用CommandManager.InvalidateRequestSuggested()。默认情况下,命令管理器仅检查特定条件下的CanExecute。可能页面导航没有正确触发此问题。您在哪里定义CanExecute和Execute的处理程序?我现在已对问题进行了排序-有关更多详细信息,请参阅中的我的评论。非常感谢你们两位的帮助。