1

我有一个模块,在模块内。我需要两个功能区按钮“创建”和“编辑”。这两个按钮都指向相同的 View 和 ViewModel。我能区分它们的唯一方法是使用 Ribbon Button.I 的命令参数属性部分正在使用导航视图移动到视图。我想将附加参数传递给 ViewModel 构造函数,说调用来自创建或编辑。有什么建议吗?

4

3 回答 3

0

我会绑定CreateEdit按钮,Commands例如CreateCommandEditCommand。我会在命令的相应 Execute 方法中传递有关调用者的任何其他详细信息。

示例代码:

void CreateCommandExecute(object o)
{
   YourMethod("Create", o);
}

void EditCommandExecute(object o)
{
   YourMethod("Edit", o);
}

void YourMethod(string caller, object commandParameter)
{
   // Your logic goes here
}
于 2013-11-04T17:31:34.600 回答
0

RibbonButton 有一个 Tag 属性:

http://msdn.microsoft.com/en-us/library/microsoft.windows.controls.ribbon.ribbonbutton.ASPX http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.tag .ASPX

定义按钮时,您可以为每个功能区按钮设置 Tag 属性。然后,您可以在事件处理程序中提取标记值并做出相应的反应。

于 2013-11-04T16:49:21.797 回答
0

您需要在 ViewModel 中创建两个不同的命令:

1- CommandEdit --> Asingned CommandProperty button Editby 绑定;

2- CommandCreate --> Asingned CommandProperty button Createby 绑定。

羞耻命令行为中的共享逻辑不是好主意。

于 2013-11-04T15:57:17.047 回答