命令源禁用和启用

2024-03-17

我阅读了有关 WPF 命令的所有内容,并且了解 GoF 命令模式,但仍然认为,我对这个过程有一个问题:命令目标(例如文本框)如何告诉命令源(例如按钮)它有更改状态(例如,插入文本框中的某些文本),以便源可以禁用或启用自身或执行其希望执行的任何操作。换句话说,命令目标如何让 ICommand 实现类(例如 cut 命令)触发它的 CanExecuteChangedEvent,以便该类反过来让命令源知道状态更改。


有一个类叫做命令管理器 http://msdn.microsoft.com/en-us/library/ms616838.aspx照顾执行逻辑。您可以调用 CommandManager.InvalidateRequerySuggested 方法让系统检查您的 CanExecute 方法。

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

命令源禁用和启用 的相关文章

  • pthread_cond_timedwait() 和 pthread_cond_broadcast() 解释

    因此 我在堆栈溢出和其他资源上进行了大量搜索 但我无法理解有关上述函数的一些内容 具体来说 1 当pthread cond timedwait 因为定时器值用完而返回时 它如何自动重新获取互斥锁 互斥锁可能被锁定在其他地方 例如 在生产者
  • 使闭包捕获的变量变得易失性

    闭包捕获的变量如何与不同线程交互 在下面的示例代码中 我想将totalEvents 声明为易失性的 但C 不允许这样做 是的 我知道这是错误的代码 这只是一个例子 private void WaitFor10Events volatile
  • 当 contains() 工作正常时,xpath 函数ends-with() 工作时出现问题

    我正在尝试获取具有以特定 id 结尾的属性的标签 like span 我想获取 id 以 国家 地区 结尾的跨度我尝试以下xpath span ends with id Country 但我得到以下异常 需要命名空间管理器或 XsltCon
  • 在 Visual Studio 2008 上设置预调试事件

    我想在 Visual Studio 中开始调试程序之前运行一个任务 我每次调试程序时都需要运行此任务 因此构建后事件还不够好 我查看了设置的 调试 选项卡 但没有这样的选项 有什么办法可以做到这一点吗 你唯一可以尝试的 IMO 就是尝试Co
  • 在.rdlc报告的底部设置一个文本框

    我在 rdlc 报告中使用 tablix 有一个文本框 其中包含文本 签名 我想将此文本框放置在报告最后一页的底部 就在页脚之前 我已经用谷歌搜索了这个解决方案 但没有找到满意的结果 我的环境是VS2010 framework 4 0 有什
  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • Web API - 访问 DbContext 类中的 HttpContext

    在我的 C Web API 应用程序中 我添加了CreatedDate and CreatedBy所有表中的列 现在 每当在任何表中添加新记录时 我想填充这些列 为此目的我已经覆盖SaveChanges and SaveChangesAsy
  • 指针减法混乱

    当我们从另一个指针中减去一个指针时 差值不等于它们相距多少字节 而是等于它们相距多少个整数 如果指向整数 为什么这样 这个想法是你指向内存块 06 07 08 09 10 11 mem 18 24 17 53 7 14 data 如果你有i
  • 使用 System.Text.Json 即时格式化 JSON 流

    我有一个未缩进的 Json 字符串 例如 hash 123 id 456 我想缩进字符串并将其序列化为 JSON 文件 天真地 我可以使用缩进字符串Newtonsoft如下 using Newtonsoft Json Linq JToken
  • 如何将图像路径保存到Live Tile的WP8本地文件夹

    我正在更新我的 Windows Phone 应用程序以使用新的 WP8 文件存储 API 本地文件夹 而不是 WP7 API 隔离存储文件 旧的工作方法 这是我如何成功地将图像保存到 共享 ShellContent文件夹使用隔离存储文件方法
  • C# 中的递归自定义配置

    我正在尝试创建一个遵循以下递归结构的自定义配置部分
  • Github Action 在运行可执行文件时卡住

    我正在尝试设置运行google tests on a C repository using Github Actions正在运行的Windows Latest 构建过程完成 但是当运行测试时 它被卡住并且不执行从生成的可执行文件Visual
  • for循环中计数器变量的范围是多少?

    我在 Visual Studio 2008 中收到以下错误 Error 1 A local variable named i cannot be declared in this scope because it would give a
  • clang 实例化后静态成员初始化

    这样的代码可以用 GCC 编译 但 clang 3 5 失败 include
  • 线程睡眠和Windows服务

    我正在开发一个 Windows 服务 该服务存在一些问题Thread Sleep 所以我想我会尝试使用计时器 因为这个问题建议 在 Windows 服务中使用 Thread Sleep https stackoverflow com que
  • 将 unsigned char * (uint8_t *) 转换为 const char *

    我有一个带有 uint8 t 参数的函数 uint8 t ihex decode uint8 t in size t len uint8 t out uint8 t i hn ln for i 0 i lt len i 2 hn in i
  • x86 上未对齐的指针

    有人可以提供一个示例 将指针从一种类型转换为另一种类型由于未对齐而失败吗 在评论中这个答案 https stackoverflow com questions 544928 reading integer size bytes from a
  • 如何使用 std::string 将所有出现的一个字符替换为两个字符?

    有没有一种简单的方法来替换所有出现的 in a std string with 转义 a 中的所有斜杠std string 完成此操作的最简单方法可能是boost字符串算法库 http www boost org doc libs 1 46
  • 防止索引超出范围错误

    我想编写对某些条件的检查 而不必使用 try catch 并且我想避免出现 Index Out of Range 错误的可能性 if array Element 0 Object Length gt 0 array Element 1 Ob
  • 使用按位运算符相乘

    我想知道如何使用按位运算符将一系列二进制位相乘 但是 我有兴趣这样做来查找二进制值的十进制小数值 这是我正在尝试做的一个例子 假设 1010010 我想使用每个单独的位 以便将其计算为 1 2 1 0 2 2 1 2 3 0 2 4 虽然我

随机推荐

  • Networkx:可视化 MultiGraph 时重叠边缘

    以下多重图使用 graphviz neato 正确绘制 即平行边不重叠 生成 png 如图所示 这个答案 https stackoverflow com questions 14943439 how to draw multigraph i
  • npm install 上出现 ENOTDIR 错误(节点 4 上的 npm 3。我知道:旧版。抱歉 :( )

    首先 我很抱歉在这里报告 npm3 的问题 但看起来旧的存储库当前处于只读模式 我们有一个又大又旧的 AngularJS 前端应用程序 它需要 Node4 并使用 npm3 几天前 有人执行 npm install 时出现了一个问题 err
  • Python doctest:跳过整个块?

    我有一个在类方法中包含文档字符串的 Python 模块 以及模块文档字符串中的一个真实示例 区别在于方法文档字符串经过精心设计 成为完全可重复的测试 而现实世界的示例只是 Linux shell 历史记录的复制粘贴 它碰巧调用了 pytho
  • Apache JMeter 的 Cookie 管理器未将 cookie 添加到 POST 请求

    我制定了非常简单的测试计划 登录 POST 返回会话cookie 获取状态 GET 返回用户状态 创建资源 POST 为资源提供 JSON 正文 所以我的 测试计划 如下所示 Test Plan Thread Group HTTP 请求默认
  • $_SESSION 设置为有效登录后 isset() 不起作用

    我有这个 loginform php 和这部分代码 这是从带有登录表单的 index php 调用的 include config php if isset POST submit username POST username passwo
  • UIViewControllerHierarchyInconsistency 仅在 iOS 8 和 Xcode 6 中导致应用程序崩溃

    我有一个在 iOS 7 和 Xcode 5 中运行良好的应用程序 当我将其更新到 iOS 8 和 Xcode 6 时 当点击文本字段时应用程序尝试在视图中向上滑动 UIDatePicker 时 它会崩溃 我正在使用故事板 有人知道为什么吗
  • C++ 中的等效 LinkedHashmap?

    我有一个 Java 程序 我想将其转换为 C 所以 有一个LinkedhashmapJava代码中使用的数据结构 我想将其转换为C 是否有等效的数据类型LinkedHashmap in C 我尝试使用std unordered map但是
  • 使用 NumPy reduceat 计算基于组的平均值

    import numpy as np import pandas as pd dummies np array pd get dummies list abdccadab categorical IV groupIDs np array 1
  • Protractor 和 Cucumber:使用 async/await 函数超时

    我正在使用 Angular 5 Protractor 和 Cucumber 进行 e2e 和 bdd 测试 当我在终端上运行时ng e2e我收到以下错误 当我打开页面 e2e steps home steps ts 15 错误 函数超时 确
  • 带 SwiftUI 的旋钮

    因此 我尝试使用旋钮复制正常的 SwiftUI 滑块功能 我已经对 UI 进行了编码 并且当前已连接到标准 SwiftUI 滑块以便旋转它 现在我需要添加其余的滑块功能 即 value range stride 和触摸功能 即上下左右拖动时
  • 作为安装过程的一部分,如何让 WiX 调用 .NET 程序集中的方法?

    我正在迁移一些现有产品以使用 WiX 3 5 我正在使用 Votive VS 集成 我正在安装的一些项目需要向第三方框架注册 要求是我必须在第三方 NET 程序集中调用 Register 方法来通知它我正在安装的项目是否存在 它需要一个 C
  • 如何在 Chapel 中附加稀疏域

    我正在使用读取 CSV 的循环填充 Chapel 中的稀疏数组 我想知道最好的模式是什么 var dnsDom 1 n dims 1 n dims var spsDom sparse subdomain dnsDom for line in
  • Tomcat 应用程序没有响应且没有日志

    我已经配置apache将请求转发到tomcat 以下是我的配置
  • VBA - 如何将 Excel 中的行从一个工作簿复制到另一个工作簿?

    尽管我浏览了许多与我的问题相同的帖子 但没有一个答案满足我的需求 如果您能给我链接 我很乐意阅读 我有一本带有工作表的工作簿 为简单起见 假设我的工作簿有一个工作表 在我的工作表 Sheet1 中 单元格 A1 到 A4 中有数据 我想要我
  • 无效的工会成员

    Visual Studio 中有没有一种方法可以处理非平凡的联合 以下代码运行良好g std c 11但 VS 抱怨 无效的联合成员 类 Foo 具有不允许的成员函数 代码如下 struct Foo int value Foo int in
  • 无法从 NSString 转换为 NSDate

    我无法将 NSString 转换为 NSDate 这是代码 NSDate stringToNSDate NSString dateString NSDateFormatter setDefaultFormatterBehavior NSDa
  • 将精灵旋转到鼠标位置

    我一直在使用 SFML 1 6 库 我想知道 如何旋转精灵 使其始终转向鼠标在屏幕上的位置 Thanks SFML具体代码优先 如果你有精灵的位置 S Sx Sy 和光标的位置 C Cx Cy You can calculate the a
  • mySQL 查找重复项并删除它们

    我想知道是否有一种方法可以通过一个查询来完成此操作 似乎当我最初用虚拟数据填充数据库以处理 10k 条记录时 在混乱的某个地方 所有脚本转储了额外的 1 044 行 其中行是重复的 我用以下方法确定了这一点 SELECT x ID x fi
  • Win10 64位上CUDA 12的PyTorch安装

    我需要在我的 PC 上安装 PyTorch 其 CUDA 版本 12 0 pytorch 2 的表 https i stack imgur com X13oS png in In 火炬网站 https pytorch org get sta
  • 命令源禁用和启用

    我阅读了有关 WPF 命令的所有内容 并且了解 GoF 命令模式 但仍然认为 我对这个过程有一个问题 命令目标 例如文本框 如何告诉命令源 例如按钮 它有更改状态 例如 插入文本框中的某些文本 以便源可以禁用或启用自身或执行其希望执行的任何