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