【发布时间】:2017-04-28 18:41:23
【问题描述】:
我已经解决了
- (A) wpf 用户控件项目(库 dll):该用户控件有一个框架、自己的导航按钮和一个用于在此项目中定义的一些页面之间导航的菜单。
- (B) wpf application(test):我是用来测试dll的。它只有一个主窗口,它使用了上一个项目中定义的用户控件。
- (C) 更复杂的 wpf 应用程序(假设是最终项目)。这也有一个带有自己的导航按钮和自己的菜单的框架。框架必须显示该项目中定义的多个页面以及 A 的用户控件。
当我使用 (B) 测试 (A) 时,一切正常。 当我使用 (C) 显示 (A) 时,A 的导航按钮被禁用,而 C 的导航按钮适用于 A 和 C 的页面。
看起来所有发送到C帧的命令都被发送到了A的父帧。
这怎么可能?
我的导航按钮带有自定义 UIRoutedCommand
private void Backward_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = ChildFrame?.CanGoBack??false;
e.Handled = true;
}
当 C 使用 A 时,ChildFrame?.CanGoBack 始终为 false。
【问题讨论】:
标签: c# wpf navigation user-controls frame