Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.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
Android MVVMCross按钮命令绑定未触发_Android_Xamarin.android_Mvvmcross - Fatal编程技术网

Android MVVMCross按钮命令绑定未触发

Android MVVMCross按钮命令绑定未触发,android,xamarin.android,mvvmcross,Android,Xamarin.android,Mvvmcross,这是关于stackoverflow的以下问题。我试图有一个按钮触摸命令,如这里所述,但什么也没有发生 公共IMvxCommand项ClickCommand { 得到 { 返回新的MvxRelayCommand(()=>this.RequestNavigate(true)); } } 在上面的代码中我做错了什么,为什么它不开火 目前没有为触摸设置绑定 public event EventHandler<View.TouchEventArgs> Touch 因为它是一个Even

这是关于stackoverflow的以下问题。我试图有一个按钮触摸命令,如这里所述,但什么也没有发生


公共IMvxCommand项ClickCommand
{
得到
{
返回新的MvxRelayCommand(()=>this.RequestNavigate(true));
}
}  

在上面的代码中我做错了什么,为什么它不开火

目前没有为
触摸设置绑定

public event EventHandler<View.TouchEventArgs> Touch
因为它是一个
EventHandler
而不是
EventHandler
,所以它会自动绑定

i、 e:


应该可以工作-这可能是您正在寻找的-您希望响应按钮的
单击
,而不仅仅是
触摸



要调试绑定问题,值得查看
MvxBindingTrace
输出-通常它会告诉您何时无法绑定到东西-如果无法绑定,请在github上记录错误问题:)

我在Android上也有同样的问题。这是斯图尔特的答案,它奏效了。我只是想把它放在这里,以便更方便地找到android。只需将此类放入项目中,命令绑定将在设备上以发布模式开始工作:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;

namespace BestSellers.Droid
{
  // things in this class are only required in order to prevent the linker   overoptimising!
class LinkerIncludePlease
{
    private void IncludeVisibility(View widget)
    {
        widget.Visibility = widget.Visibility + 1;           
    }

    private void IncludeClick(View widget)
    {
        widget.Click += (s,e) => {};
    }

    private void IncludeRelativeLayout(RelativeLayout relativeLayout)
    {
        relativeLayout.Click += (s, e) => { };
    }
}

}

谢谢你,斯图尔特,它很有魅力,这正是我想要的
public event EventHandler Click
<Button
xmlns:local="http://schemas.android.com/apk/res/Test.UI.Droid"
android:text="Office"
android:layout_column="0"
android:id="@+id/imageButton1" 
local:MvxBind="{'Click':{'Path':'ItemClickCommand'}}"/>  
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;

namespace BestSellers.Droid
{
  // things in this class are only required in order to prevent the linker   overoptimising!
class LinkerIncludePlease
{
    private void IncludeVisibility(View widget)
    {
        widget.Visibility = widget.Visibility + 1;           
    }

    private void IncludeClick(View widget)
    {
        widget.Click += (s,e) => {};
    }

    private void IncludeRelativeLayout(RelativeLayout relativeLayout)
    {
        relativeLayout.Click += (s, e) => { };
    }
}