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

c# - 如何将外部集合属性的 CommandParameter 传递给 WPF 中的内部集合

在这里,我有 Outer ObservableCollectionof model MobileModel。MobileModel 有一个inner Collectionof 模型MobileModelInfo

我需要将属性OS作为内部集合内的命令参数传递。

C#源代码是

XAML 源代码

如何在OS内部传递财产<Binding Path="DataContext"></Binding>

0 投票
0 回答
1842 浏览

c# - 无法从 System.Data.SqlDbType 转换为 System.Data.DbType

我应该使用CommandParameter其他团队定义的方法插入到数据库中,SQLCommandParameter在这种情况下我无法更改为如何传递表值参数

我得到这个

错误无法从 System.Data.SqlDbType 转换为 System.Data.DbType

0 投票
1 回答
1210 浏览

wpf - MVVM Light canExecute 使用 RelayCommand 始终为 false不是中继命令

Do anyone know why being specific with the MVVM Light RelayCommand generic type would cause its canExecute to always resolve to false for the binding? In order to get t

Do anyone know why being specific with the MVVM Light RelayCommand generic type would cause its canExecute to always resolve to false for the binding? In order to get the correct behavior I had to use an object and then convert it to the desired type.

NOTE: canExecute was simplified to a boolean for testing the block that does not work and is normally a property CanRequestEdit.

Does NOT work:

Works:

XAML:


How can i get the Process used to open a file in C#

I am trying to open different files with their associated applications like this:

Please can you help me get hold of the Process object that represents the application opened because after the call to process.Start(); most of the fields inside process have threw exceptions.

Thanks.

0 投票
1 回答
491 浏览

crystal-reports - Crystal Reports:在不使用子报表的情况下将日期参数值设置为计算?

是否可以将命令参数的值设置为日期计算,即从运行日期算起 2 个月,而不将其放入子报告中并从主报告中传递值?

Crystal Reports中命令参数的默认日期值

0 投票
1 回答
1299 浏览

c# - CommandParameter 始终为 NULL

我想在 WPF 窗口中实现一个简单的关闭按钮。窗口基本上看起来像这样:

此窗口的 DataContext 在其代码隐藏中设置为MainWindowViewModel

主窗口视图模型:

CloseAppw 中始终为空。所有其他带有字符串参数等的命令都可以完美运行 - 我唯一的问题是我没有得到窗口元素,也没有找到通往我的视图模型的方法。

感谢您的帮助!

编辑 我很抱歉,我用一个简单的按钮尝试了它并且它有效 - 问题只发生在RibbonButton

0 投票
1 回答
1192 浏览

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:

Exception error

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.

0 投票
1 回答
129 浏览

c# - 使用命令参数的 Web API 不返回任何数据

用于查询接收字符串数组作为输入参数的 oracle 数据库的 Web API。我正在尝试使用命令参数来避免 Sql 注入,但是下面的代码不会抛出任何错误但没有给出结果。

以下是我在 selectCommand 的 commandText 中调试时得到的结果

因为我现在给

正在重复选择。但如果我只是给

而调试时的 strQuery 是

在此处输入图像描述

我得到的回报是

我应该将 p0 括在 '' 中,因为我们收到的输入是字符串数组。

但是当我在 SQL 开发人员中尝试使用相同的 ID 时,我得到了记录。任何帮助是极大的赞赏。

0 投票
1 回答
789 浏览

c# - 在命令参数 Wpf 中传递不同的按钮

假设,以下是两个按钮驻留在 wpf 用户控件中。

Option按钮的单击事件中,我在视图模型中将按钮作为 CommandParameter 传递。如何传递命令参数中的 other( validity) 按钮而不是Option同一事件的按钮?

0 投票
1 回答
1999 浏览

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

再次感谢您的帮助!!!

0 投票
1 回答
1323 浏览

c# - 更改 where 子句以使用 Oracle 命令参数

我目前正在创建 Web API 以接受一个输入参数并在 where 子句的特定字段中使用它们。下面是服务的代码

我如何在此处使用 OracleParameter 而不是直接在查询中给出它们。我已经为命令参数创建了 prms,但不知道如何继续。