【问题标题】:Wpf navigation frame inside a frame, navigation button are disabled in child框架内的Wpf导航框架,子导航按钮被禁用
【发布时间】:2017-04-28 18:41:23
【问题描述】:

我已经解决了

  1. (A) wpf 用户控件项目(库 dll):该用户控件有一个框架、自己的导航按钮和一个用于在此项目中定义的一些页面之间导航的菜单。
  2. (B) wpf application(test):我是用来测试dll的。它只有一个主窗口,它使用了上一个项目中定义的用户控件。
  3. (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


    【解决方案1】:

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

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

    JournalOwnership="OwnsJournal" 拯救了我的一天

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-06
      • 1970-01-01
      • 1970-01-01
      • 2020-08-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多