【问题标题】:VB .Net WPF changing windowsVB .Net WPF 改变窗口
【发布时间】:2016-04-17 09:50:01
【问题描述】:

我正在尝试创建一个带有多个窗口的 WPF 应用程序,但我对正确的执行方式感到有些困惑。我知道我需要保持主窗口打开才能运行程序,所以我为子窗口隐藏了这个。但是,当我想从一个子窗口切换到另一个子窗口时会出现问题,可以缩小到以下内容:如何在用户按下右上角的关闭按钮时捕获事件(似乎没有办法参考在 VB .net 中按下此按钮时)?

目前,我正在关闭当前窗口,然后创建下一个窗口的新实例以从一个窗口更改为另一个窗口,如下所示:

Private Sub btnContinue_Click(sender As Object, e As RoutedEventArgs) Handles btnContinue.Click

    Dim wd As New NextWindow
    Me.Close()
    wd.ShowDialog()

End Sub

有一个退出按钮:

Private Sub btnExit_Click(sender As Object, e As RoutedEventArgs) Handles btnExit.Click
    Me.Close()
End Sub

我在窗口关闭事件中有以下内容:

Application.Current.MainWindow.Show()

但是如何区分每个窗口右上角的退出按钮或继续按钮或默认关闭按钮?如果按下退出按钮或关闭按钮,我想关闭当前窗口,然后显示主窗口。如果按下继续按钮,我想关闭当前窗口,然后显示下一个窗口。

我希望这是有道理的。

【问题讨论】:

  • 您是否考虑过在 WPF 中使用 Navigation framework 在页面之间导航?
  • 我推荐你使用 Prism 框架。它为您管理所有这些工作。
  • 不幸的是,我对导航框架或棱镜框架的了解不够,无法使用这些解决方案。导航框架看起来更像是浏览器,尽管它确实表示它可以在独立应用程序中使用。 Prism 看起来很丰富,可能适用于比我目前处理的更大的应用程序。肯定会在某个时候调查两者。现在,我已经解决了只是隐藏中间窗口,直到最后一个窗口完成,然后将它们全部关闭到主窗口。不理想,但我目前看到的最快的解决方案:)

标签: wpf vb.net


【解决方案1】:

我相信这个老问题可以回答你:

How to catch the event of the window close button(red X button on window right top corner) in wpf form?

这显示了 Window_Closing 上的一个事件,这可能是您正在寻找的。​​p>

希望有帮助!

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
猜你喜欢
  • 2020-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-18
  • 1970-01-01
  • 1970-01-01
  • 2013-09-24
  • 1970-01-01
相关资源
最近更新 更多