问题标签 [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.
c# - 如何将外部集合属性的 CommandParameter 传递给 WPF 中的内部集合
在这里,我有 Outer ObservableCollection
of model MobileModel
。MobileModel 有一个inner Collection
of 模型MobileModelInfo
我需要将属性OS
作为内部集合内的命令参数传递。
C#源代码是
XAML 源代码
如何在OS
内部传递财产<Binding Path="DataContext"></Binding>
c# - 无法从 System.Data.SqlDbType 转换为 System.Data.DbType
我应该使用CommandParameter
其他团队定义的方法插入到数据库中,SQLCommandParameter
在这种情况下我无法更改为如何传递表值参数
我得到这个
错误无法从 System.Data.SqlDbType 转换为 System.Data.DbType
c# - CommandParameter 始终为 NULL
我想在 WPF 窗口中实现一个简单的关闭按钮。窗口基本上看起来像这样:
此窗口的 DataContext 在其代码隐藏中设置为MainWindowViewModel
主窗口视图模型:
在CloseApp
w 中始终为空。所有其他带有字符串参数等的命令都可以完美运行 - 我唯一的问题是我没有得到窗口元素,也没有找到通往我的视图模型的方法。
感谢您的帮助!
编辑
我很抱歉,我用一个简单的按钮尝试了它并且它有效 - 问题只发生在RibbonButton
c# - BindingExpression path error: '' property not found on 'current item of collection' ... BindingExpression:Path=/;
I have seen several similar questions to mine so please don't quickly dismiss it. The scenario seems different here and I can't see why it would be wrong. My DataGrid
has some bindings to keys and mouse clicks:
I found the methodology thanks to StackOverflow and existing user contributions. Much appreciated.
This issue relates to the MouseBinding CommandParameter
. The program executes fine with no warnings. I can double-click any row in the DataGrid
and it behaves as designed.
But if I check the Output window in Visual Studio 2015 I can see this remark:
System.Windows.Data Error: 40 : BindingExpression path error: '' property not found on 'current item of collection' ''OCLMEditorModelView' (HashCode=43686667)'. BindingExpression:Path=/; DataItem='OCLMEditorModelView' (HashCode=43686667); target element is 'MouseBinding' (HashCode=49684624); target property is 'CommandParameter' (type 'Object')
Why is it saying this? I used /
because the ItemSource
is a CollectionViewSource
object and I understood that / invokes the currently selected item. But this command is not supposed to fire until I actually double-click a row anyway.
Curious as to how I can stop this appearing in my output window.
If I try to change the binding as per the answer I get this exception:
Update:
Here is the current XAML:
But now I notice this in the output window:
System.Windows.Data Error: 40 : BindingExpression path error: '' property not found on 'current item of collection' ''RelativeSource' (HashCode=472027)'. BindingExpression:Path=/; DataItem='RelativeSource' (HashCode=472027); target element is 'MouseBinding' (HashCode=36454430); target property is 'CommandParameter' (type 'Object')
It seems to work (I can double-click a row and it does what I want). So can I stop this output warning?
Update:
So this is the current XAML:
What I am tryign to do has not changed - when user double-clicks a DataGrid row (which is boudn to a cvs) it invokes a command based on that row.
c# - 在命令参数 Wpf 中传递不同的按钮
假设,以下是两个按钮驻留在 wpf 用户控件中。
在Option
按钮的单击事件中,我在视图模型中将按钮作为 CommandParameter 传递。如何传递命令参数中的 other( validity
) 按钮而不是Option
同一事件的按钮?
c# - 在传递命令参数时绑定到代码中的命令
我最近在我的代码中实现了一个解决方案,允许我在我的视图模型中绑定到我的命令。这是我使用的方法的链接:https ://code.msdn.microsoft.com/Event-to-Command-24d903c8 。我在链接中使用了第二种方法。您可以出于所有意图和目的假设我的代码与此代码非常相似。这工作得很好。但是,我还需要为此双击绑定一个命令参数。我该如何设置?
这是我的项目的一些背景。这个项目背后的一些设置可能看起来很奇怪,但必须以这种方式完成,因为我不会在这里讨论很多细节。首先要注意的是,这种绑定设置发生在多值转换器内部。这是我生成新元素的代码:
values[1] 是DataContext,也就是这里的viewmodel。视图模型包含以下内容:
如何传递该命令参数?我之前已经多次使用 XAML 绑定所有这些东西,但从来没有从 C# 中完成。感谢您的任何帮助!
编辑
这是我的问题的完整示例。虽然我知道这个示例并没有实际目的来按照它的方式做事,但为了这个问题,我们将使用它来运行。
假设我有一个要显示的字符串的 ObservableCollection。这些包含在视图模型中。
所以我团队中负责 UI 的人递给我这个
现在假设 UI 人员和我的项目经理决定密谋反对我,让我的生活变成一个活生生的地狱,所以他们告诉我,我需要创建一个列表框来将这些项目显示为按钮,而不是在 XAML 中,而是在ContentControl 的内容绑定到的转换器。所以我这样做:
这成功显示了列表框,所有项目都作为按钮。第二天,我的白痴项目经理在视图模型中创建了一个新命令。它的目的是如果双击其中一个按钮,则将所选项目添加到列表框中。不是单击,而是双击!这意味着我不能使用 CommandProperty,或者更重要的是,不能使用 CommandParameterProperty。他在视图模型中的命令看起来像这样:
因此,经过一番谷歌搜索后,我找到了一个将我的 DoubleClick 事件转换为附加属性的类。这是那个类:
然后回到转换器,我把这条线放在dt.VisualTree = btn;的正上方 :
这成功地达到了我的项目经理的命令,但我仍然需要传递列表框的选定项。然后我的项目经理告诉我不再允许我触摸视图模型。这就是我卡住的地方。如何仍将列表框的选定项发送到视图模型中的项目经理的命令?
以下是此示例的完整代码文件:
视图模型.cs
主窗口.xaml
MyConverter.cs
附件.cs
ObservableObject.cs
中继命令.cs
再次感谢您的帮助!!!
c# - 更改 where 子句以使用 Oracle 命令参数
我目前正在创建 Web API 以接受一个输入参数并在 where 子句的特定字段中使用它们。下面是服务的代码
我如何在此处使用 OracleParameter 而不是直接在查询中给出它们。我已经为命令参数创建了 prms,但不知道如何继续。