Mvvm 棱柱按钮点击命令

Mvvm 棱柱按钮点击命令,mvvm,xamarin.forms,prism,Mvvm,Xamarin.forms,Prism,Im尝试通过行为命令打开抽屉菜单同步控制 Xaml 如果HamburgerButton_单击了Object sender,EventArgs带有参数,则我有错误-//Argument:无法从“方法组”转换为操作 如果我删除参数,它就不起作用了你想得太多了。只需将命令绑定到按钮 在页面中: <Button Command="{Binding HamburgerCommand}" /> 尝试一下…不起作用不幸的是,如果我不喜欢xaml.cs private void Hamburger

Im尝试通过行为命令打开抽屉菜单同步控制

Xaml

如果HamburgerButton_单击了Object sender,EventArgs带有参数,则我有错误-//Argument:无法从“方法组”转换为操作


如果我删除参数,它就不起作用了

你想得太多了。只需将命令绑定到按钮

在页面中:

<Button Command="{Binding HamburgerCommand}" />

尝试一下…

不起作用不幸的是,如果我不喜欢xaml.cs private void HamburgerButton中的MVVM代码,请单击对象发送者,System.EventArgs e{navigationDrawer.ToggleDrawer;}并使用xaml中的事件单击,那么一切都会很好地工作,当然,使用代码隐藏中的事件处理程序来侦听单击的事件,但是如果您将MVVM标记放在问题上并讨论命令,则会假定您希望使用视图模型并绑定到其中的命令。
    public DelegateCommand HamburgerButton { get; private set; }   
 public QuickPartViewModel(INavigationService navigationService)
{ 
    HamburgerButton = new DelegateCommand(HamburgerButton_Clicked);
}
    public void HamburgerButton_Clicked(object sender, EventArgs e)
            {            
                navigationDrawer.ToggleDrawer();
            }
<Button Command="{Binding HamburgerCommand}" />
public QuickPartViewModel()
{ 
    HamburgerCommand = new DelegateCommand(OnHamburger);
}

public DelegateCommand HamburgerCommand { get; }   

private void OnHamburger()
{            
     navigationDrawer.ToggleDrawer();
}