执行 ApplicationCommands.Close 时实际发生的情况

2024-01-06

我想标题中的问题已经很清楚了。当我打电话时会发生什么

ApplicationCommands.Close.Execute(null,null)

来自我的 viewmodel 类。

我有一个显示用户控件的模型对话框。我有一个命令绑定到用户控件中的按钮,该按钮在视图模型中执行。我想在执行命令后关闭对话框。可以通过使用上面的命令来完成已执行的事件。

但我想知道这是否是正确的方法。这会导致任何不良影响吗?


不幸的是,这行不通。

ApplicationCommands.Close 是一个 RoutedUiEvent,它需要 Commandtarget(任何 IInputelement)。它使用此命令目标来引发路由事件。

然后,您可以通过使用命令绑定来处理此路由事件。

从 ViewModel 中,您可以将 ApplicationCommands.Close 绑定到“关闭按钮”,然后在窗口中处理路由的关闭事件。

但是你不能打电话ApplicationCommands.Close.Execute(null,null)在您的 ViewModel 中执行另一个命令后,因为您没有 CommandTarget (第二个空)

还有其他类似的线程ViewModel 应该如何关闭表单? https://stackoverflow.com/questions/501886/wpf-mvvm-newbie-how-should-the-viewmodel-close-the-form其中详细介绍了实现这一目标的各种方法。

http://adammills.wordpress.com/2011/02/16/mvvm-uses-for-applicationcommands-close/ http://adammills.wordpress.com/2011/02/16/mvvm-uses-for-applicationcommands-close/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

执行 ApplicationCommands.Close 时实际发生的情况 的相关文章

  • SqlCommand 参数与 String.Format [重复]

    这个问题在这里已经有答案了 我一直在互联网上搜索 但似乎找不到任何可以解释我的问题的内容 可能是我没有使用正确的搜索字符串 所以我在这里发帖希望有人可以帮助我有了这个 我的程序是使用Visual Studio 2010用C 编写的 我注意到
  • 如何在MVVM中实现对话框架构

    我正在开发一个基于 PRISM 框架 Unity Container 的 WPF 4 0 MVVM 应用程序 我想知道在 mvvm 模式中实现对话框的最佳方法是什么 我计划在我的应用程序中使用相当多的东西 所以我想要一些可重用的东西 由于您
  • 我可以禁用特定控件的键盘输入吗?

    是否可以禁用控件的键盘输入 例如一个ListView 我怎么做 我尝试过覆盖KeyUp KeyDown事件 但显然不是这样的 IsEnabled是一个很好的解决方案 但是我只想禁用键盘交互并保持鼠标交互不变 处理KeyDown事件来得太晚了
  • 将 WPF 快捷键绑定到 ViewModel 中的命令

    我有一个使用 MVVM 模式的 WPF 应用程序 将按钮连接到 VM 非常简单 因为它们实现了 ICommand 我有一个工作原理类似的上下文菜单 下一步是为上下文菜单创建快捷键 我不知道如何让快捷键调用命令 这是一个例子
  • WPF HierarchicalDataTemplate 不会在属性更改时更新 ItemsSource

    这是一些 XAML
  • ItemSource 中具有不同类型数据的 ListView 多行列标题

    继续this https stackoverflow com q 26712051 1997232问题 我想实现这种ListView 它应该有两件事 多行列标题 不同的数据类型通过绑定ItemsSource以不同方式显示 为了解决 1 我尝
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • VisualStateManager 和生成的转换

    正当我以为我明白的时候VisualStateManager 有些事情证明我错了 我正在使用 WPF 4 并且尝试简单地在鼠标悬停时放大某个项目 并在鼠标离开时将其缩小 我想我只需定义每个状态VisualStateGroup然后指定一个Vis
  • 如何在C#背后的代码中动态创建数据模板并绑定TreeView分层数据

    我有一个场景 其中树视图动态更改其数据模板和数据绑定定义 我在 XAML 中创建了一个树视图 如下所示
  • 如何使 WPF 应用程序在 Web 浏览器上运行

    我们有一个用 WPF 编写的现有应用程序 我们正在寻找一种迁移它的方法 以便它可以在 Web 浏览器上运行 深入研究后 我们似乎需要找到一种将代码编译为 WebAssembly 的方法 但我不确定它对于现有的完全加载的 WPF 应用程序有多
  • CommandManager.InvalidateRequerySuggested 不会导致对 MVVM-Light 中的 CanExecute 进行重新查询

    我正在使用 MVVM Light RelayCommand private ICommand myRevertCmd public ICommand Revert get if myRevertCmd null myRevertCmd ne
  • .NET / C# / WPF 项目的命名约定

    NET C WPF 项目广泛接受的命名约定是什么 Microsoft 有一篇关于命名约定的内容广泛的 MSDN 文章here http msdn microsoft com en us library ms229002 aspx
  • PreviewKeyDown 不会在 ElementHost 中针对 Tab 和箭头键触发

    我在 Winforms ElementHost 中有一个 WPF 窗口 我的窗口上的 Tab 键和箭头键不会触发 KeyDown 和 PreviewKeyDown 事件 KeyUp 和 PreviewKeyUp 似乎工作正常 Preview
  • 如何枚举控件的所有依赖属性?

    我有一些 WPF 控件 例如 文本框 如何枚举该控件的所有依赖属性 如 XAML 编辑器所做的那样 不需要使用反射 恕我直言 这是一个坏主意 因为框架已经为此提供了实用程序类 但它们并不明显找到 以下是基于这篇文章的答案 枚举绑定 http
  • 是什么导致 WPF 打印机输出被光栅化?

    我在 WPF 中遇到了许多打印问题 其中正在打印的特定项目组合会突然触发打印机输出的光栅化 导致打印机输出丑陋且庞大 并可能导致打印每页需要 30 秒 我发现在控件上设置任何级别的不透明度之类的事情通常会触发此问题 我忘记了它还有什么作用
  • 无法将像素着色器渲染到 RenderTargetBitmap!请帮忙!

    我编写了一个非常简单的 WPF 应用程序来测试渲染具有与 RenderTargetBitmap 关联的像素着色器的控件的能力 然后我将位图写入文件 jpeg 该控件被渲染到位图上 但是像素着色器效果不会应用于该控件 代码和 XAML 如下
  • 使用 ICollectionView 过滤 ObservableCollection

    I have ObservableCollection绑定到dataGrid现在我想过滤我看到需要使用的呈现数据ICollectionView但我不知道如何添加ICollectionView和我的MVVM图案 我的代码简化如下 public
  • 当 AutoGenerateColumns = True 时如何重命名 DataGrid 列?

    我有一个简单的数据结构类 public class Client public String name set get public String claim number set get 我正在将其喂入DataGrid this data
  • 如何使取消按钮像“X”按钮一样工作?

    在我的 XAML 文件中 我有一个窗口 我试图将其设置为无论用户单击 X 按钮还是单击 取消 按钮 行为都是相同的 我的缩写代码如下 public partial class Dialog Window private void Windo
  • rvm:未找到命令 MAC OX

    真的 我不知道发生了什么 对不起 如果这个问题太菜鸟了 但我找不到这个问题的解决方案 bash rvm 找不到命令 我试过这个 curl L https get rvm io https get rvm io bash s 版本最新 但我仍

随机推荐

  • 为什么 JVM 参数以“-D”开头?

    为什么我们需要在 JVM 参数前加上前缀 D例如从命令行运行 jar 时 例如 java jar DmyProp Hello World myProgram jar 用于运行myProgram jar与系统参数myProp 那么为什么领先
  • 将值合并到数组中

    我遇到的情况是 我必须手动将标签与值合并 然后存储在数组中 例如aaa 10 bbb 20 ccc 30 这些值来自文本字段 最后我必须以这种格式提供 用逗号分隔 标签是硬编码的 如何创建这样的数组或字符串aaa 10 bbb 20 ccc
  • 安装框架(问题 cURL 错误 6:无法解析主机:cache-proxy)

    我尝试安装 api platform https api platform com docs distribution https api platform com docs distribution 启动后我在日志中看到 api plat
  • 分析我的程序的时间复杂度

    我在确定算法的时间复杂度时遇到问题 for int i 0 i
  • 使用XElement保存XML文件时,文件的对齐方式也会发生变化,如何避免?

    我在用 XElement root XElement Load filepath 加载 XML 文件 然后找到我需要的东西 IEnumerable
  • GitKraken 启用长路径的 .git 配置文件在哪里

    到目前为止 我已经从命令行运行程序和 GitHub Desktop 使用了 Git 我尝试使用 GitKraken 但它有一个很大的问题 我有一个存储库 它有真正的嵌套文件夹 超过了 256 个长度 这个问题很容易用 Git 和 GitHu
  • 在枚举内部提供函数是否被认为是“干净的”?

    我在源代码中发现了一些代码 这些代码基本上使用 switch case 来遍历枚举的每个可能值 并调用根据数据类型返回 Number 对象的适当函数 这是一个片段 case TYPE 16BIT SIGNED BE measurement
  • 使用配置文件打包 Python 应用程序

    我正在使用 ConfigParser 来配置我的应用程序 现在我想让它易于分发 同时保留可配置性 我想我需要一个包含配置文件模板的目录 以及一些生成配置以实际使用的方法 然后我需要一个可以在 virtualenv 用户主目录等中工作的地方来
  • 由于环境错误,pip install pandas 失败

    我正在尝试安装 pandas 但收到此错误 Collecting pandas Retrying Retry total 4 connect None read None redirect None status None after co
  • 更改超出范围的变量?

    有什么方法可以在超出范围时更改变量吗 我知道一般来说 你不能 但我想知道是否有任何技巧或覆盖 例如 有什么方法可以完成以下工作 function blah var a 1 a 2 alert blah 编辑 为了澄清 假设的场景是修改 se
  • 有没有一种 CSS 方法可以按照黄金比例垂直定位 HTML 元素?

    我想仅使用 CSS 将 HTML 元素定位在水平中间和垂直黄金比例中 元素的高度必须是绝对灵活的 所以我不能只设置top attribute和element height为百分比值 有什么办法可以做到这一点吗 示意图 在图像中 相同颜色的箭
  • 是否可以在域和子域之间共享 cookie

    我正在尝试在 www example com 和 admin other example com 之间共享 cookie 我已经能够使其与 other example com 一起使用 但无法访问子子域 编辑 我通过将 cookie 域定义
  • 在 Windows 上的 Excel VBA 中,对于解析的 JSON 变量,这个 JScriptTypeInfo 到底是什么?

    在这里回答我自己的问题 我已经在 Excel VBA 中使用 JSON 做了一些工作 并发布了很多发现 我将以问答的形式进行https stackoverflow com help self answer https stackoverfl
  • memcached 客户端:打开、关闭和重用连接

    我一直在测试spymemcached 和xmemcached 客户端 我一直在尝试在项目文档中寻找答案 但效果很差 我的问题是关于打开 关闭和重用连接 我在一份文档中找到了这一点 客户端可以在不再需要连接时随时关闭连接 笔记 然而 鼓励客户
  • mySQL:基于不同条件的多个 COUNT()

    好吧 所以我想做的是根据不同的条件在同一个表上执行不同的 COUNT 而不需要嵌套查询 效率 或子查询 因此可以将其制作成视图 这可能吗 示例 表具有日期列 查询应该能够生成固定日期之前和之后的行数计数 您正在使用 MySQL 因此您可以利
  • 从 PHP 开发人员的角度来看,MySQL 与 C#

    我知道使用 PHP 我可以使用 mysql query sql 和 mysql fetch array 结果 获取一些 MySQL 数据并将其放入数组中 在 C 中如何实现这一点 以便我可以将数据放置在数据网格中 这可能是您将看到的填充 D
  • Android中如何存储大量音频文件?

    我正在开发一个需要我播放大量音频文件的应用程序 每个文件的大小约为 100KB 目前我有 220 个文件 将来可能会增加 如果我将这些文件放在 res raw 文件夹中 那么我最终会得到一个非常大的 APK 文件 在 Android 中存储
  • 我应该为移动网站使用什么文档类型?

    我正在从头开始创建网站的移动版本 但我不确定应该使用什么文档类型 好像没有一个明确的标准 是吗 在许多移动网站上我看到 在其他人身上我发现 有人能为我指出正确的移动网页设计方向吗 我想支持大多数现代手持设备 例如 iPhone
  • 以 15 分钟为间隔排列来自销售人员的呼叫数据

    我是 python 和 pandas 以及 stackoverflow 的新手 所以我对我提前犯的任何错误表示歉意 我有这个数据框 df pd DataFrame data Donald Trump German 2021 9 23 14
  • 执行 ApplicationCommands.Close 时实际发生的情况

    我想标题中的问题已经很清楚了 当我打电话时会发生什么 ApplicationCommands Close Execute null null 来自我的 viewmodel 类 我有一个显示用户控件的模型对话框 我有一个命令绑定到用户控件中的