问题标签 [icommand]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5895 浏览

c# - 即使设置了 CommandParameter,ICommand.CanExecute 也被传递为 null

我有一个棘手的问题,我将 a 绑定ContextMenu到一组ICommand衍生对象,并通过样式设置每个对象的CommandandCommandParameter属性:MenuItem

然而,当ICommand.Execute( object )它应该传递一组选定的注释时,ICommand.CanExecute( object )(在创建菜单时调用)被传递为空。我已经检查并在调用之前正确实例化了选定的笔记集合(实际上它在其声明中分配了一个值,所以它从不null)。我不知道为什么 CanEvaluate 会通过null

0 投票
3 回答
2713 浏览

wpf - 如何将 ItemTemplate CheckBox 的 Command 属性绑定到 ViewModel 对象的属性?

让我用伪代码问这个问题:

其中
“联系” ViewModel 对象设置为窗口的 DataContext。

"Contacts" 具有 "PersonCollection" ,公共 ICommand PersonSelectedCommand 属性。“PersonCollection”是列表

“Person”具有名称、年龄属性

目前这不起作用,因为 CheckBox 正在尝试查找并绑定对象“person”的 ICommand“PersonSelectedCommand”属性,该属性不存在!

如何将 CheckBox 绑定到对象“Contact”的 ICommand“PersonSelectedCommand”属性

感谢和问候
123Deveopler

0 投票
3 回答
897 浏览

wpf - WPF CommandBinding 不在顶级项目/窗口/此

我想要的只是不同选项卡上的不同绑定,因此切换选项卡会切换命令可用性。我认为 CommandBindings 就是这样工作的。

但是我花了最后一段时间试图让这个简单的样本工作。要么我从根本上误解了(这不是第一次),要么出了点问题。

我将 CommandBinding 添加到 textBoxA 但未添加到 textBoxB。在它们之间移动应该启用和禁用设置为相应命令的按钮。

将 CommandBinding 添加到 Window 可以很好地启用按钮,但这会扼杀特定于项目的 CommandBindings 的全部意义。

使用此 XAML

在后面使用此代码

您会看到(如果您尝试此代码)该按钮仍然处于禁用状态,即使您从一个文本框移动到另一个文本框也是如此。(即使 textBoxA 应该启用按钮,因为它实现了按钮的 CommandBinding)。

这应该如何工作?

先感谢您。

0 投票
5 回答
2386 浏览

.net - CommandConverter - 有效异常或 .NET 错误

我的 C#/.NET 应用程序出现异常,内容如下:

“CommandCoverter”无法将“MyNamespace.MyDerivedFromICommandSubclass”转换为“System.String”。

正如MSDN ICommand文档所述,我正在做的事情相当简单:

我有一个带有超链接的FlowDocument。超链接允许有一个命令属性,我将其设置为派生的 ICommand,以便在单击链接时执行我的自定义操作。

那部分有效。

这就是我遇到麻烦的地方:如果我选择超链接并右键单击复制(或按 Control-C)。

.NET 框架立即抛出 System.NotSupportedException 并带有上述异常详细信息。堆栈跟踪显示:

在 System.ComponentModel.TypeConverter.GetConvertToException(对象值,类型 destinationType)
在 System.Windows.Input.CommandConverter.ConvertTo(ITypeDescriptorContext 上下文,CultureInfo 文化,对象值,类型 destinationType)

此时我求助于Red Gate 的免费 .NET Reflector并查看源代码ConvertTo

那么问题就变成了,因为所有这些都发生在 .NET 内部,我是不是做错了什么,如果是,怎么办?或者,这是一个 .NET 错误,如果是,是否有解决方法?

谢谢你的帮助。

0 投票
1 回答
329 浏览

silverlight - MVVM 与代码隐藏上的 UI 特定事件

我有一个 Silverlight 页面,它的控件很少,并且所有行为都不是数据绑定的。例如,RichTextBox 是 Text 属性的数据绑定。但是粗体、斜体、编号等控件行为是由控件上方工具栏中的按钮单击事件驱动的。这些控件确实会更改数据的值,但不会实际保存/检索数据。那么,与在 ViewModel 中创建 ICommand 对象相比,将此类 UI 事件保留在 Silverlight 页面的代码隐藏页面中是否可以?

MVVM 表示您的 View 应该与 ViewModel 进行交互,以便在内部与 Model 进行交互。这里的视图只是更新视图而不是模型。那么此类事件的代码隐藏可以吗?

0 投票
1 回答
1052 浏览

wpf - 测试是否执行了 ICommand

我的问题如下:如何测试是否在模拟对象上调用了 ICommand 的 Execute 方法?

我正在使用以下代码:

我必须在这里指定我在 UCOperandViewModel 上也有一个 EditCommand ICommand,并且我想测试当我在 toolbarTrayVM 上调用 EditCommand.Execute 时该 ICommand 是否被执行。

我在调用验证时收到 ArgumentException。它说“在模拟类型上找不到给定参数的匹配构造函数。”。

提前致谢。

0 投票
1 回答
247 浏览

silverlight - 如何为 ICommand 设置 EventArg?

在 VM 中,将 ICommand 设置为:

在 xaml 中,绑定到这个命令就像

然后运行应用程序。它说无法将字符串转换为 EventArgs。

如何为 ICommand 绑定设置 EventArgs?

0 投票
4 回答
468 浏览

silverlight - 将代码保留在 XAML 代码之外的真正优势是什么?

Silverlight 社区为使 XAML 的代码隐藏在文件中尽可能地无代码而付出了很多努力。这背后的真正动机是什么?

例如,使用命令而不是事件处理程序有什么好处?如果我有

那为什么首选这个?

显然,SaveCommand在我的视图模型中将有效地调用SaveChanges().

这可能导致视图是 100% XAML 的情况,甚至在 XAML 中实例化视图模型,并且视图和视图模型之间的连接完全通过绑定完成。当然它很干净,但还有什么?灵活的?为什么?视图仍然需要使用正确的 ViewModel,所以如果两者之间的联系存在并且是隐式的,为什么不让它更明确呢?它还具有失去编译时支持的缺点。如果我将按钮连接到不存在的事件处理程序,编译器会告诉我。如果我绑定到一个不存在的命令,它不会。

0 投票
1 回答
2229 浏览

c# - 需要帮助理解 MVVM 教程、RelayCommand 和 lambda 的使用

我正在阅读 Josh Smith 的带有模型-视图-视图模型设计模式教程 的WPF 应用程序

我不明白下面的代码试图做什么。
首先,语法提醒我属性,但使用添加/删除代替。

但什么是CommandManager.RequerySuggested

它将事件订阅委托给 CommandManager.RequerySuggested 事件。这可确保 WPF 命令基础结构在询问内置命令时询问所有 RelayCommand 对象是否可以执行

此外,保存命令配置了 lambdas。第一,有 2 个参数变量。他们会冲突吗?我不能只做类似的事情,RelayCommand(this.Save(), this.CanSave)或者没有这样的语法。

0 投票
2 回答
214 浏览

wpf - WPF的MVC(不是mvvm)?

我不喜欢在 WPF 的 ViewModel 中有与控制器相关的代码(理解 ICommand 的东西)。是否有一个框架来分离它并回到 WPF 的旧 MVC?

我想得到: - XAML 中的视图 - 视图模型 - 模型 - 命令处理程序