gpt4 book ai didi

wpf - WPF 命令基础结构中的对话框是否有关闭命令?

转载 作者:行者123 更新时间:2023-12-05 00:06:39 33 4
gpt4 key购买 nike

我应该使用 ApplicationCommands.Close用于关闭模式对话框还是该命令被认为是为关闭应用程序保留的?如果是后者,请大家创建Close每个命令 Dialog盒子或只是一个 Close所有模式对话框的命令?

最佳答案

以下是 WPF 如何使用 ApplicationCommand.Close:

  • WPF 本身没有针对 ApplicationCommands.Close 的内置命令处理程序。 ,但是
  • WPF 执行 ApplicationCommand.Close RoutedCommand 每当它收到 Win32 消息时 WM_APPCOMMANDlParam=APPCOMMAND_CLOSE .这意味着如果任何 Win32 应用程序向您发送 APPCOMMAND_CLOSE ,您的 ApplicationCommand.Close处理程序将被调用。

  • documentationAPPCOMMAND_CLOSE给出这个定义:

    Close the window (not the application).



    我认为 WPF 应用程序应该处理 ApplicationCommand.Close以同样的方式,“窗口”将包括对话框(它通常在 Win32 世界中)。

    你为什么关心 Win32 文档所说的内容?在三种情况下它可能很重要:
  • 无障碍场景
  • 具有“关闭窗口”键的键盘
  • 当用户配置了鼠标按键组合发送“关闭窗口”命令时

  • 所以回答你的问题:不, ApplicationCommand.Close不保留用于关闭应用程序。它的目的是关闭窗口,包括一个对话框窗口。因此无需创建单独的命令来关闭对话框。

    许多应用程序简单地使用 App.xaml 中的样式在 Window 类上设置 CommandBinding,并在处理程序中通过调用 ((Window)sender).Close() 结束。 .这是一个简单而优雅的解决方案。

    关于wpf - WPF 命令基础结构中的对话框是否有关闭命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3088846/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com