问题标签 [commandparameter]

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 投票
1 回答
3760 浏览

wpf - 在使用 MultiBinding 绑定多个 CommandParameters 方面需要更多帮助

我需要有一个 ToggleButton 的命令处理程序,它可以采用多个参数,即所述 ToggleButton 的 IsChecked 属性,以及一个常量值,它可以是字符串、字节、int ... 没关系。

在 SO 上找到了这个很好的问题,并按照答案的链接阅读了 MultiBinding 和 IMultiValueConverter。在我不得不编写 MultiBinding 之前,它真的很顺利,当我意识到我还需要传递一个常量值并且不能做类似的事情时

然后我遇到了 Kent Boogaart 回答的另一个类似问题,然后我开始思考可以解决这个问题的方法。

一种可能的方法是不使用 MVVM,只需将 Tag 属性添加到我的 ToggleButton,在这种情况下,我的 MultiBinding 将如下所示:

Kent 曾发表评论,“如果你使用 MVVM,你应该能够解决这个问题”。但是,我不确定这是否适合我,即使我已采用 MVVM 作为 WPF 模式的必要选择。

之所以这么说,是因为我在UserControl中有不止一个ToggleButton,而且每个ToggleButtons的Commands都需要调用同一个函数。但是由于它们是ToggleButtons,我不能在ViewModel中使用绑定到IsChecked的属性,因为我不知道最后点击的是哪一个。我想我可以添加另一个私有财产来跟踪这一点,但这似乎有点傻。就常数而言,如果我做了跟踪的想法,我可能会摆脱它,但不确定是否有任何其他方法可以绕过它。

有人在这里对我有好的建议吗?:)

编辑——好的,所以我需要更新我的绑定,它仍然不能正常工作:

IsChecked 有效,但标签无效。我刚刚意识到 Tag 是一个字符串......呃。它现在正在工作!关键是使用Self的 RelativeSource 。

0 投票
1 回答
3625 浏览

wpf - 如何将当前元素的属性作为 WPF 中的命令参数发送?

我有一个带有背景颜色的按钮,我想将此背景颜色作为命令参数发送到命令绑定!我怎样才能做到这一点?

0 投票
1 回答
2503 浏览

wpf - WPF:菜单项仅绑定一次命令参数

在使用带有命令的菜单时,我已经多次注意到这一点,它们不是很动态,检查一下。我正在从一组颜色创建一个菜单,我用它来为数据网格中的列着色。无论如何,当我第一次调出菜单(它的上下文菜单)时,命令参数绑定发生并且它绑定到打开上下文菜单的列。但是,下次我提出它时,似乎 wpf 缓存了菜单并且它没有重新绑定命令参数。所以我只能在上下文菜单出现的初始列上设置颜色。

过去,我通过使菜单完全动态并在菜单关闭时破坏集合并在下次打开时强制重建来解决这种情况,我不喜欢这种黑客行为。有人有更好的方法吗?

0 投票
1 回答
7348 浏览

wpf - WPF CommandParameter 绑定未更新

我正在尝试在 WPF 应用程序中将 Command 和 CommandParameter 绑定与按钮一起使用。我有这个完全相同的代码在 Silverlight 中工作得很好,所以我想知道我做错了什么!

我有一个组合框和一个按钮,其中命令参数绑定到组合框 SelectedItem:

后面的代码如下:

对于我的 Silverlight 应用程序,当组合框的 SelectedItem 更改时,CommandParameter 绑定会导致我的命令的 CanExecute 方法使用当前选定的项目重新评估,并且按钮启用状态也会相应更新。

使用 WPF,由于某种原因,CanExecute 方法仅在解析 XAML 时创建绑定时调用。

有任何想法吗?

0 投票
3 回答
25762 浏览

wpf - 将当前窗口作为 CommandParameter 传递

如何将我当前所在的窗口作为参数传递给命令?

我喜欢在 XAML 标记中这样做:

0 投票
3 回答
1490 浏览

xaml - 如何在 XAML 中的 CommandParam 中具有枚举值

我有以下表示 UI 状态的枚举(我用它来启用和禁用 UI 元素):

我想将 Mode.EDIT 传递给 CommandParam 中的命令:

但我不知道如何声明它。正如您在按钮声明中看到的,我尝试使用StaticResource但它失败了。我对 SL4 和 C# 很陌生,所以我想我错过了一些东西。

0 投票
2 回答
1654 浏览

asp.net - 在 SqlDataSource SelectCommand 中使用参数配置表名

我有一个 ASP.NET 3.5 Web 表单,其中 DropDownList 绑定到数据库中的公司名称表。我还有一个数据绑定 GridView,我想根据 DropDownList 中选择的公司名称使用数据库中的数据进行更新,因此 GridView 的 SqlDataSource 的 SelectCommand 是:

其中 {CompanyName} 是在 DropDownList 中选择的任何内容。我使用命令和参数编辑器创建了一个指向 DropDownList 的 SelectedValue 的 ControlParameter,但我不知道如何编写 SelectCommand 查询以将参数连接到“_VehicleData”。有什么想法吗。

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 回答
2107 浏览

wpf - IMul​​tiValueConverter 值没问题,但 CommandParameter 为空

我试图通过 IMultiValueConverter 将几个值传递给命令(作为命令参数)。这些值在通过转换器时是正确的,但是一旦调用 Can_Execute() 和 Execute() 命令,我就会得到一个空对象数组。有任何想法吗?

xml:

IMul​​tiValueConverter 类:

当我不使用 MultiBinding 和转换器时,代码工作得很好,但我需要 MultiBinding,这样我就可以将一些额外的信息传递给命令。

0 投票
0 回答
3073 浏览

wpf - 将枚举绑定到 MVVM Light RelayCommand命令参数

我正在尝试在 XAML 中为 RelayCommand <MessageTokens> 绑定命令参数,如下所示,其中 MessageTokens 是一个枚举

XAML 是:

使用 Telerik 的 RadGridView 代码崩溃

等等

如果我将参数更改为 RelayCommand <string> 而不是 RelayCommand <MessageTokens> 代码运行良好。

我不愿意这样做,因为我失去了强输入参数的所有好处。

我怀疑我没有在 XAML 中正确声明枚举。我试过了

但这会在 MVVMLight 中给出 InvalidCastException。

有没有人有什么建议?

非常感谢杰里米

用解决方案编辑

问题是因为我没有正确引用带有 + 号的 CommandParameter 绑定中的内部类。

正确的 XAML 应该是: