Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF RibbonApplicationMenuItem命令绑定_Wpf_Binding_Mvvm_Command - Fatal编程技术网

WPF RibbonApplicationMenuItem命令绑定

WPF RibbonApplicationMenuItem命令绑定,wpf,binding,mvvm,command,Wpf,Binding,Mvvm,Command,使用WPF功能区构建菜单。我的应用程序采用MVVM模式。要将RibbonButton连接到ViewModel,请使用以下表单: Command="{Binding Logoff}" 它工作正常。 现在,在RibbonApplicationMenuItem上使用相同的命令: Command="{Binding Logoff}" 不发起任何呼叫或事件。RibbonApplicationMenuItem调用ViewModel中的方法需要什么?当我在codebehind中创建方法时,它是有效的。但

使用WPF功能区构建菜单。我的应用程序采用MVVM模式。要将RibbonButton连接到ViewModel,请使用以下表单:

Command="{Binding Logoff}"
它工作正常。 现在,在RibbonApplicationMenuItem上使用相同的命令:

 Command="{Binding Logoff}"
不发起任何呼叫或事件。RibbonApplicationMenuItem调用ViewModel中的方法需要什么?当我在codebehind中创建方法时,它是有效的。但这与我正在开发的MVVM体系结构背道而驰。
有什么建议可以让RibbonApplicationMenuItem通过绑定到ViewModel来连接吗?

经过几次搜索,我找到了问题的解决方案。软件包中的Ribbon包含MicrosoftRibbonForWPFSourceAndSamples文件,这是如何使用RibbonApplicationMenuItem的一个很好的示例。我使用了DelegateCommand方法,它在这个包中作为一个示例

我在视图的构造函数中使用了以下语法:

DelegateCommand  = new rbiEfetuarLogoff.Command(mainWindowViewModel.DoLogoff); 
我希望它对其他人有用


致以最诚挚的问候

我不明白您想要完成什么,您是否需要向命令传递一个参数,以决定它是应该注销还是登录?在哪里设置DataContext?在root
RibbonWindow
或其他什么地方?我所做的就是运行命令。单击按钮和要处理的方法。没有参数。DataContext设置为:问题仅发生在对象“RibbonApplicationMenuItem”中。对象“RibbonButton”工作正常。