1
我有一些問題,試圖讓鍵盤打字事件...所以我要的是 執行命令「GoContratoCommand」當用戶按下鍵盤如何在android中使用mvvmcross中的按鍵事件?
上的「進入」按鈕,這是我的ViewModel的一部分:
using System;
using System.Collections.Generic;
using Cirrious.MvvmCross.ViewModels;
using MultiPage.Core.Services;
namespace MultiPage.Core.ViewModels
{
public class FirstViewModel
: MvxViewModel
{
private Cirrious.MvvmCross.ViewModels.MvxCommand _goContratoCommand;
public System.Windows.Input.ICommand GoContratoCommand
{
get{
_goContratoCommand = _goContratoCommand ?? new Cirrious.MvvmCross.ViewModels.MvxCommand(inv_prod_pareja);
return _goContratoCommand;
}
}
}
}
,這是我的活動(或視圖,你想將它命名)的路徑:查看/ FirstView.cs
using Android.App;
using Android.OS;
using Android.Widget;
using Cirrious.MvvmCross.Droid.Views;
namespace MultiPage.Droid.Views
{
[Activity(Label = "View for FirstViewModel")]
public class FirstView : MvxActivity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
//SetContentView(Resource.Layout.FirstView);
SetContentView(Resource.Layout.screen01);
var contrato= FindViewById<EditText>(Resource.Id.txtMembershipNumber);
contrato.EditorAction += EventHandlerContrato;
}
public void EventHandlerContrato(object MyObject,EditText.EditorActionEventArgs e){
e.Handled = false;
if (e.ActionId == Android.Views.InputMethods.ImeAction.ImeNull ||
e.ActionId == Android.Views.InputMethods.ImeAction.Next ||
e.ActionId == Android.Views.InputMethods.ImeAction.Unspecified ||
e.ActionId == Android.Views.InputMethods.ImeAction.None ||
e.ActionId == Android.Views.InputMethods.ImeAction.Send ||
e.ActionId == Android.Views.InputMethods.ImeAction.Go)
{
var algo=((Core.ViewModels.FirstViewModel)this.DataContext).GoContratoCommand;
e.Handled = true;
}
}
}
}
我在這堆,你可以幫我瞭解我如何運行此com mand ?,或者如果你知道 另一種使用按鍵事件來調用命令的方法,我將不勝感激,如果你告訴我,謝謝。
耶穌!!!,噸很多,並感謝KeyCommand的一角,我也在尋找一種方法來做到這一點,謝謝你!我是一個新手 –