1

私は MVVMCross の初心者で、専門家がいくつかの質問に答えてくれるかどうか疑問に思っていました。

  1. Android デバイスで仮想キーボード (カスタム キーボード (Android キーボードに類似)) を処理して、フォーカスのある edittextfield でのみ入力したいのですが、その方法がわかりません。

  2. ビューモデルから直接コントロール (任意のコントロール - ボタン、edittextfield) のプロパティにアクセスする方法はありますか? ビューモデルを介してコントロール イベントを処理するベスト プラクティスを説明できますか?

前もって感謝します。

4

2 に答える 2

3
  1. ここで何を言っているのかわからない?
  2. いいえ、これは設計上可能であり、可能であってはなりません。-> ViewModel から View に直接アクセスするべきではありません。この 2 つの要素間の接続は、DataBinding を使用して行われます。これは、コントロールのプロパティにアクセスするときはいつでも、ViewModel でプロパティを公開し、View でそれらをバインドすることを意味します。

たとえば、EditText の「Text」プロパティにアクセスする場合。次に、ViewModel (たとえば、YourTextProperty) でプロパティを作成し、DataBinding を使用します。Android では、次のようになります。

<EditText local:MvxBind="Text YourTextProperty" />

MvvmCross Binding-Engine は、コントロールがこの値を変更すると、プロパティのセッターを自動的に実行します...

于 2013-09-24T21:14:27.440 に答える
0

返信いただきありがとうございます。

私が実際に探していたのは、view.cs の FindByViewID で、コントロールのプロパティとイベントを取得し、それを Viewmodel のプロパティに渡します。

于 2013-09-25T07:54:34.003 に答える