mvvmcross touch befehlsbindung in android

Ich suche nach einer Möglichkeit, eine "Touch" -Befehlsbindung zwischen axml und ViewModel oder anderen Elementen wie FocusChanged usw. auszuführen.

Ein einfacher "Klick" -Befehl funktioniert wie folgt: local: MvxBind = "{'Touch': {'Path': 'CameraButtonCommand'}}" />

    public IMvxCommand CameraButtonCommand
    {
        get
        {
            return new MvxRelayCommand(
                () =>
                {
                    RequestNavigate<AugRealityViewModel>(true);
                })
            ;
        }
    }

Ich habe jedoch andere Ereignistypen für das Steuerelement ausprobiert (in diesem Fall ImageButton) und sie werden nicht verarbeitet. Wenn ich die Ereignislisten in der Klasse "Anzeigen" überprüft habe, werden folgende angezeigt:

    public event EventHandler Click;
    public event EventHandler<View.CreateContextMenuEventArgs> ContextMenuCreated;
    public event EventHandler<View.FocusChangeEventArgs> FocusChange;
    public event EventHandler<View.KeyEventArgs> KeyPress;
    public event EventHandler<View.LongClickEventArgs> LongClick;

Nur an das Click-Ereignis ist der allgemeine EventHandler angehängt, während andere EventHandler generierten, und ich frage mich, ob dies der Grund ist, warum es nicht funktioniert.

Ich habe auch versucht, diesen Ereignissen in der View-Klasse eine Methode zuzuweisen, die die richtige Steuerung durch die FindViewById-Methode erhält, und diesmal funktioniert sie wie erwartet. Aber irgendwie kann ich es im Axml nicht mit Befehlen machen.

Auch noch eine Sache. Das Ereignis "Click" sendet das Objekt "EventArgs" als einen der Parameter und auch die Objektreferenz. Ich kann das mit Leichtigkeit sehen, wenn ich dieses Verhalten in View Class durchführe, aber wenn ich dies durch Binden tue, werden diese Argumente nicht angezeigt, wenn ich den Befehl in ViewModel verarbeite.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage