【问题标题】:Mvvmcross Visibility in fluent binding流式绑定中的 Mvvmcross 可见性
【发布时间】:2017-05-04 12:57:22
【问题描述】:

我有瑞士绑定的 EditText(最后一行):

<EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:MvxBind="Visibility Visibility(WebServiceEditVisible); Text EditTextWebServiceAdress" />

如何使用 Fluent 绑定编写与 Visibility 插件和 Text 属性的绑定?

【问题讨论】:

    标签: xamarin xamarin.android mvvmcross


    【解决方案1】:

    与您实施的瑞士绑定等效的流畅绑定将是:

    资源文件:

    <EditText
        android:id="@+id/your_edit_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    

    代码隐藏:

    var myEditText = view.FindViewById<EditText>(Resource.Id.your_edit_text);
    var bindingSet = this.CreateBindingSet<YourView, YourViewModel>();
    
    bindingSet.Bind(yourEditText).For(c => c.Text).To(vm => 
    vm.EditTextWebServiceAdress);
    bindingSet.Bind(yourEditText).For(c => c.Visibility).To(vm => 
    vm.WebServiceEditVisible).WithConversion(new MvxVisibilityValueConverter());
    
    bindingSet.Apply();
    

    此代码将进入片段的 OnCreateView 覆盖。如果您在 Activity 中工作,它会进入 OnCreate 中,您需要将 view.FindViewById&lt;EditText&gt;(Resource.Id.your_edit_text); 更改为 FindViewById&lt;EditText&gt;(Resource.Id.your_edit_text);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-30
      • 2020-06-21
      • 2013-12-13
      • 2010-09-27
      • 2014-08-20
      • 1970-01-01
      相关资源
      最近更新 更多