привязка команды mvvmcross touch в Android
Я ищу способ сделать "Touch" привязка команды между axml и ViewModel, или что-то еще, например FocusChanged и т. д.
Простой & quot; Нажмите & quot; Команда отлично работает так: местные: MvxBind = & Quot; {& APOS; сенсорный & APOS;: {& APOS; Path & APOS;: & APOS; CameraButtonCommand & APOS;}} & Quot; / & GT;
public IMvxCommand CameraButtonCommand
{
get
{
return new MvxRelayCommand(
() =>
{
RequestNavigate<AugRealityViewModel>(true);
})
;
}
}
Однако я пытался использовать другие типы событий для элемента управления (в данном случае это ImageButton), и они не обрабатываются. Когда я проверил списки событий в классе просмотра, я вижу их:
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;
К событию Only Click прикреплен общий EventHandler, в то время как другие генерируют EventHandlers, и мне интересно, если это причина, по которой он не работает.
Я также пытался присоединить метод к этим событиям в классе View, получая надлежащий элемент управления методом FindViewById, и на этот раз он работает, как и ожидалось. Но почему-то я не могу сделать это в axml через Commands.
Также еще одна вещь. & Quot; Нажмите & quot; событие отправляет & quot; EventArgs & quot; объект как один из параметров, а также ссылка на объект. Я легко вижу это, если я делаю это поведение в View Class, но когда я делаю это с помощью привязки, я не вижу этих аргументов при обработке команды в ViewModel.