问题标签 [relaycommand]

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 投票
2 回答
10609 浏览

.net - 从绑定到 VM 的 CodeBehind 触发 RelayCommand

我想知道我是否可以像这样在我的 ViewModel 上创建一个 RelayCommand:

导演:

从 XAML 背后的代码中,我从 DataGrid 中获取选定的行并将它们放入列表中。

在这个阶段,我想使用我之前创建的 RelayCommand 将 List 发送回 ViewModel。是否可以在代码中创建一个 RelayCommand 并将其绑定到 ViewModel 的命令并触发它?

有什么替代方法?我当然可以在 MVVM-Light 中使用弱引用的 Messenger 类,但我不喜欢它会将它发送给该调用的所有订阅者,而不仅仅是底层的 ViewModel(当你有几个时使用 Messenger 是致命的TabControls 中相同视图的实例)

我希望有人有一个想法让我继续前进,非常感谢,Kave

0 投票
1 回答
2497 浏览

xaml - MVVM light - 在 RelayCommand 中从 XAML 传递多个参数

我的视图上有多个 PasswordBox,当我单击一个按钮时,我想将它们的所有 SecureStrings 传递给我的视图模型。

我的猜测是,我想用所有 SecureStrings 填充自定义类的实例,并将该对象作为参数传递给绑定到按钮的 RelayCommand。如果我只知道如何...

我目前的解决方法:

在按钮的 RelayCommands 操作中:发送带有回调的 NotificationMessageAction,将自定义类作为参数。在后面的视图代码中注册该消息,然后使用 SecureStrings 填充一个对象,然后在回调的帮助下将该对象传递回视图模型。不大好...

在 XAML 中必须有更好的方法来做到这一点,对吧?

0 投票
1 回答
827 浏览

silverlight - 具有链接的复杂类和 CanExecute 中继命令的 MVVM 属性不起作用

我在 C# 库类中有一个实体类并链接到 Silverlight 类库(实体必须在 C# 类中,因为与其他系统的遗留兼容性)

示例(C# 库):

此类链接到 Silverlight 类库。

在 MVVM 上有一个属性

该属性绑定到 XAML 中的控件

我想用 RelayCommands CanExecute 控制按钮取决于 TestClass 中的 TestValue ...

但是,如果 TestValue 更改(与空字符串不同),PressCommand CanExecute 似乎没有注意到更改并且未启用,使其无法使用...

是否可以将 CanExecute 与这种 set-tu 一起使用

0 投票
1 回答
859 浏览

wpf - 使用 RelayCommand 将复杂数据发送到 MVVM 模型

我有一个复杂的查询接口,需要通过 RelayCommand 传递给我的模型。这包括一些组合框、复选框和文本输入。

我可以轻松地传递单个命令参数(即 RelayCommand 等),但如果是 RelayCommand 等,我将如何封装命令。这似乎有点过分。

任何提示将不胜感激

谢谢

0 投票
2 回答
15629 浏览

mvvm - 使用 MVVM 在 Silverlight 中将 CommandParameter 传递给 Command

我只是在学习 Silverlight 并查看 MVVM 和 Commanding。

好的,所以我已经看到了基本的 RelayCommand 实现:

如何使用此命令通过命令向下传递参数?

我已经看到你可以通过CommandParameter这样的:

在我的 ViewModel 中,我需要创建命令,但需要RelayCommand一个Action委托。我可以实现RelayCommand<T>using Action<T>- 如果可以,我该怎么做以及如何使用它?

谁能给我任何关于使用 MVVM 的 CommandParameters 的实际示例,这些示例不涉及使用 3rd-party 库(例如 MVVM Light),因为我想在使用现有库之前完全理解它。

谢谢。

0 投票
1 回答
1501 浏览

unit-testing - 如何对 RelayCommand 进行单元测试删除文件?

我正在尝试 MVVM Light,部分灵感来自 EventToCommand 功能,这似乎可以更轻松地在视图模型和 XAML 中处理从我的应用程序外部进行的拖放操作。但是,我对如何对 RelayCommand 进行单元测试感到困惑。我的 RelayCommand 声明很简单

然后在 ViewModel 构造函数中分配功能,而不是内联,而是使用 ViewModel 上的方法

当我为 DropFile RelayCommand 编写单元测试时,我看不到要调用什么?我应该打电话吗

以及如何构造参数,因为 DragEventArgs 只有一个空构造函数,并且它的关键属性只是 getter 而不是 setter?

0 投票
2 回答
3116 浏览

wpf - 其他窗口中按钮的 RelayCommand

我有一个主窗口和另一个名为 Loginwindow 的窗口。在某些时候,此 LoginWindow 会显示以获取一些登录信息...在 LoginWindow 中,我有一个按钮,它的 Command 属性绑定到 MainViewModel 中的 OkCommand,如下所示:

在我的 MainVeiwModel 中,我添加了一个 OkCommand RelayCommand

这段代码执行得很好,当我点击 Ok 按钮时 MessageBox 已经出现。但是当我点击 Ok 按钮时如何关闭 LoginWindow ......

0 投票
2 回答
614 浏览

wpf - 在“旧”数据上下文中调用的 RelayCommand

我在我的 ViewModels 中使用 RelayCommands 来摆脱代码背后的问题。RelayCommands 正在工作,但在这种情况下除外:定义 RelayCommands 的 ViewModel 会随着数据上下文的变化而变化。如果在数据上下文更改后触发命令,则会在“旧”视图模型中触发。在调试时,我可以看到属性来自旧的数据上下文。但是在视图中一切都很好,因为显示了正确视图模型的正确数据。

那么有界命令是否有可能无法对数据上下文的变化做出反应?还是可能有其他问题?

这里是代码片段:

选项卡控件的数据上下文正在正确更改,但在更改命令后正在旧数据上下文中调用。

0 投票
2 回答
5952 浏览

wpf - WPF DataGrid 上发生验证错误时阻止保存

目前,我有一个绑定到我的 ViewModel 中的一些数据的 DataGrid。我为行和列设置了 ValidationRules。如果有任何验证错误,我想做的是阻止用户保存文件。我正在使用 RelayCommands 类将打开、保存等命令路由到我的 ViewModel。

0 投票
2 回答
530 浏览

wpf - 执行 RelayCommand WPF 之前的 UI 验证

我是 WPF 新手,我尝试使用RelayCommand实现一个演示应用程序。

我的问题是这样的:

如果我想执行一个命令,该命令必须询问用户他是否确定要先执行它 - 最好的方法是什么?我需要一个“你确定吗?” 要弹出的消息框。但是,该命令是在 viewmodel 上执行的,当然我不想在那里弄乱 GUI。

谢谢