【问题标题】:Android MvvmCross bind Text to MvxCommandAndroid MvvmCross 将文本绑定到 MvxCommand
【发布时间】:2018-01-15 11:57:35
【问题描述】:

我有一个 Android 应用程序并使用 Xamarin 和 MvvmCross。我有一个 EditText,想在每次文本更改时调用一个命令。

虚拟机中的命令:

    public MvxCommand<string> SearchContactsCommand => new MvxCommand<string>(SearchContacts);

    private void SearchContacts(string searchTerm)
    {
        // Do search
    }

这是编辑框:

    <android.support.design.widget.TextInputLayout
        android:layout_marginTop="3dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            local:MvxLang="Hint SearchPlaceholder"
            local:MvxBind="TextChanged SearchContactsCommand" />
    </android.support.design.widget.TextInputLayout>

我尝试了不同的 TextChanged 变体,但没有成功。

如果可能的话,我想避免在虚拟机上为搜索词设置一个属性,并在它的设置器中执行搜索。

有什么方法可以实现,还是我必须编写自定义绑定?

版本: - MvvmCross 5.6.3 - MvvmCross.Binding 5.6.3

【问题讨论】:

    标签: android xamarin.android mvvmcross


    【解决方案1】:

    目前没有可以做到这一点的内置绑定,您必须进行自定义绑定。 Here 你可以看到几乎所有的内置绑定。其他的在 Mvx{NameOfTheDroidSupportPart}SetupHelper.cs 文件中的 Droid 支持插件中,例如 MvxPreferenceSetupHelper.csMvvmCross.Droid.Support.V7.Preference 中,如果您也想查看它们。

    我不确定你的目标是什么,但如果你想做一个自动完成,你可以使用MvxAutoCompleteTextViewHere你有一个例子。并查看this,这是自动完成用于在每次值更改时触发更改的绑定,您只需调整它以触发以该值作为参数的命令。

    有什么问题可以问,我很乐意提供帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-18
      • 1970-01-01
      相关资源
      最近更新 更多