MVVMCross Features

本文关键字:Features MVVMCross | 更新日期: 2023-09-27 18:32:40

我是MVVMCross的新手,我想知道专家是否可以回答我的几个问题。

  1. 我想在我的安卓设备上处理我的虚拟键盘(自定义键盘(类似于安卓键盘),以仅在焦点编辑文本字段中键入。我不知道该怎么做。

  2. 有没有办法直接从我的视图模型访问控件(任何控件 - 按钮、编辑文本字段)的属性?也许您可以解释通过视图模型处理控件事件的最佳实践?

提前谢谢。

MVVMCross Features

  1. 不知道你到底是什么意思?
  2. 不,这是设计上不可能实现的。-> 您不应该从视图模型直接访问您的视图。这两个元素之间的连接是使用数据绑定完成的。这意味着,每当要访问控件的属性时,请在 ViewModel 上为此公开一个属性,并在视图中将它们绑定在一起。

例如,当您要访问EditText的"文本"属性时。然后在视图模型上创建一个属性(例如 YourTextProperty),然后使用 DataBinding。在安卓上,这需要这样的东西:

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

然后,当控件更改此值时,MvvmCross 绑定引擎将自动执行属性的设置器...

感谢您的回复。

我实际上正在寻找的是视图中的 FindByViewID.cs以获取控件属性和事件,然后将其传递给视图模型中的属性,如上所述。