问题标签 [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 回答
1839 浏览

wpf - 如何在 WPF 中将 ItemsSource 的索引作为 CommandParameter 传递

在 WPF 中:如何将 ItemsSource 循环的索引作为 CommandParameter 传递?

所以,我想要的是将按下的按钮编号传递给 Command 方法。

谢谢!

0 投票
0 回答
574 浏览

wpf - MenuItem 上的绑定 CommandParameter 为空

我不明白为什么我的命令参数在所有其他绑定似乎都工作时为空,显示了正确的图像,文本正确并且调用了命令 CanExecute,但由于某种原因参数为空。

和视图模型类:

该命令的 CanExecute 如下所示:

0 投票
1 回答
736 浏览

c# - ListView 中的 ContextMenu,单击菜单项不会触发预期的命令

我有一个列表视图,上下文菜单与每个列表视图项相关联。但是单击菜单项不会调用相应的命令 myCommand。myCommand 链接到“执行”和“可以执行”方法。“可以执行”方法有效,但“执行”方法无效。它有一个参数。如果我删除数据上下文,则调用“执行”方法,但参数始终为空。我在 xaml 中的代码:

简短说明:我列表中的每个项目都有一个属性 LocalPath。当我右键单击一个项目并选择“打开目录”时,它应该打开该项目的目录。谢谢你的帮助

尼可

0 投票
2 回答
6404 浏览

wpf - 命令参数 Datagrid SelectedItems 为空

所以我从 xaml 中找到了这个答案 Pass command parameter,我认为这让我大部分时间都在那里。我遇到的问题是,当我在数据网格中选择一行时,它会触发命令,但所选项目为空。

我不知道,并且怀疑是问题所在,我应该在视图模型中将选定项传递给什么类型?目前我正在使用 IList,如我的视图模型代码所示:

数据网格的 XAML 视图代码如下所示:

以防万一这是一个命令实现问题,这里是我正在使用的自定义委托命令:

我四处搜索,可以找到很多 XAML 绑定的示例,但我似乎找不到它的另一半。那么视图模型中应该是什么类型呢?或者,实际问题是什么?

编辑:刚刚注意到可能对某人有帮助的调试窗口的错误

System.Windows.Data 错误:4:找不到与引用'RelativeSource FindAncestor,AncestorType ='System.Windows.Controls.DataGrid',AncestorLevel ='1''的绑定源。BindingExpression:Path=SelectedItems; 数据项=空;目标元素是'MenuItem'(名称='');目标属性是“CommandParameter”(类型“对象”)

0 投票
1 回答
408 浏览

c# - WPF CommandParameter 绑定在工具栏中失败?

情况如下:描述起来有点困难,所以如果需要,请跳至重新创建代码并将代码复制/粘贴到新项目中的步骤。ListViewModel 包含一个 ViewModel (Items) 列表和一个 ICommand (Actions) 列表。MainWindow 有一个绑定到 Actions 的 ToolBar、一个绑定到 Items 的 ListView,以及一个绑定到 ListView 中的 action 的 ContextMenu。在我的 ICommand (Command.cs) 实现中,我添加了插入自定义代码(OnIsVisible 属性)的功能,用于检查命令 Visibility 是否应该为 Visible 或 Collapsed。在您打开 ContextMenu 之前,此代码非常适用于 ToolBar 和 ContextMenu 中的操作。然后 ToolBar 的 CommandParameter 永远为 null,除非 ContextMenu 打开。

重建步骤:

  1. 在 ListView 中选择一个项目
  2. 在 ContextMenu 中单击“选择时显示”
  3. 在 ListView 中选择另一个项目

此时,CommandParameter 绑定对于命令对象将始终为 NULL。因此工具栏中的“选择时显示”按钮将不再出现。

代码:

在名为“NullParameter”的新 WPF 应用程序项目中,创建/编辑以下文件...

MainWindow.xaml:

命令库.cs

命令.cs

列表视图模型.cs

视图模型.cs

0 投票
1 回答
523 浏览

wpf - WPF 命令参数 GridViewColumnHeader

我的问题是:是否可以使用 GridViewColumnHeader 作为命令参数?我有以下代码,我想使用单击的 ColumnHeader 作为 CommandParameter:

0 投票
1 回答
106 浏览

c# - 我怎样才能使这个 CommandParameter 工作?

这个学期我在大学里一直在学习WPF,但还有一些我不完全理解的东西。我有以下代码:

和:

我的问题是:我在CommandParameter绑定中放入什么以传递Coordinates给 ViewModel 中的 ICommand?

0 投票
1 回答
584 浏览

c# - 每次都将新窗口作为 CommandParameter

我想要一个按钮来显示应用程序设置窗口,如下所示:

ViewModel 有点像:

问题是它只能工作一次,因为您无法重新打开以前关闭的窗口。显然,上面的 XAML 不会像那样打开新实例。

有没有办法在CommandParameter每次调用命令时传递新窗口?

0 投票
2 回答
921 浏览

c# - 使用 Binding 作为 CommandParameter 传递控制是 null

我编写了一个自定义ICommand实现,可作为静态属性使用:

我尝试将此属性绑定到一个简单的Button-Command

但是如果我启动我的应用程序,方法 in 中的parameter-Parameter始终为空。我的目标是传递一个实例作为命令参数。CanExecuteGridViewToggleSelectionCommandGridViewControl

我在这里做错了什么:ui:GridViewCommands.ToggleSelection}" CommandParameter="{Binding ElementName=gridView"}

编辑

绑定不会引发任何异常。

非常感谢!

0 投票
1 回答
1350 浏览

c# - Passing the control as CommandParameter programmatically

When trying to pass the control in xaml, we write the following code:

I'm trying to create a MenuItem programmatically, like this:

This passes the string "{Binding RelativeSource= {RelativeSource Mode=FindAncestor, AncestorType={x:Type MenuItem}}}" as the CommandParameter.

What am I missing?