框架内的Wpf导航框架,导航按钮在儿童

时间:2017-04-28 18:41:24

标签: c# wpf navigation user-controls frame

我已进入解决方案

  1. (A)wpf用户控件项目(库dll):它有一个用户控件,它有一个框架,自己的导航按钮和一个菜单,用于在一些页面之间导航,这些页面也在这个项目中定义。
  2. (B)wpf应用程序(测试):我曾经测试过dll。它只有一个主窗口,它使用上一个项目中定义的用户控件。
  3. (C)wpf应用程序(让我们说最终项目)更复杂。这也有一个框架,有自己的导航按钮和自己的菜单。框架必须显示此项目中定义的几个页面以及A。
  4. 的用户控件

    当我使用(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;
        }
    

    ChildFrame?当C使用A时,.CanGoBack始终为false。

1 个答案:

答案 0 :(得分:1)

也许我写的问题太快了,而不是阅读MSDN文档......

<Frame x:Name="ChildFrame" NavigationUIVisibility="Hidden" JournalOwnership="OwnsJournal">

JournalOwnership =&#34; OwnsJournal&#34;救了我的一天