2013-09-24 1 views
1

Je suis un débutant dans MVVMCross et je me demandais si un expert peut répondre à quelques-unes de mes questions.Caractéristiques MVVMCross

  1. Je veux gérer mon clavier virtuel (clavier personnalisé (similaire au clavier Android) sur mon appareil Android à taper seulement à un edittextfield concentré. Je ne sais pas comment faire.

  2. Est il un moyen d'accès du contrôle?. - propriétés directement de mon viewmodel (tout contrôle bouton, edittextfield) peut-être que vous pouvez expliquer une meilleure pratique de la gestion des événements de contrôle par viewmodels

Merci à l'avance

Répondre

0

Merci pour la réponse. Ce que je cherchais, en fait, c'était le FindByViewID dans mon view.cs pour obtenir les propriétés et les événements du contrôle, puis le transmettre aux propriétés du Viewmodel comme indiqué plus haut.

3
  1. Aucune idée de ce que vous entendez exactement ici?
  2. Non, cela est et ne devrait pas être possible par conception. -> Vous ne devriez pas avoir un accès direct du ViewModel à votre vue. La connexion entre ces deux éléments est effectuée à l'aide de DataBinding. Cela signifie que chaque fois que vous souhaitez accéder à une propriété du contrôle, affichez une propriété sur votre ViewModel pour cela et liez-les ensemble dans la vue.

Par exemple lorsque vous souhaitez accéder à la propriété "Text" de votre EditText. Créez ensuite une propriété sur votre ViewModel (YourTextProperty par exemple), puis utilisez DataBinding. Sur Android ce serait quelque chose comme:

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

Le MvvmCross Binding-Engine exécutera alors automatiquement le poseur de votre propriété lorsque la commande ne change cette valeur ...

+0

Pour étendre les liaisons mvvmcross à de nouveaux contrôles et de nouveaux événements, vous pouvez également voir les tutoriels de contrôle personnalisé et de liaison personnalisée dans les vidéos n + 1 - http://mvvmcross.wordpress.com – Stuart