将多个值绑定到一个控件Xamarin.Android mvcross MVX
我喜欢通过MVX将ViewModel中的2个属性绑定到EditText控件中 我尝试了下面的代码,但编译器不批准第二个本地代码:mvxBind将多个值绑定到一个控件Xamarin.Android mvcross MVX,android,xamarin,mvvmcross,android-mvvm,mvxbind,Android,Xamarin,Mvvmcross,Android Mvvm,Mvxbind,我喜欢通过MVX将ViewModel中的2个属性绑定到EditText控件中 我尝试了下面的代码,但编译器不批准第二个本地代码:mvxBind <EditText android:inputType="textMultiLine|textCapSentences|textAutoCorrect" android:layout_width="match_parent" androi
<EditText
android:inputType="textMultiLine|textCapSentences|textAutoCorrect"
android:layout_width="match_parent"
android:layout_height="110dp"
android:gravity="top"
local:MvxBind="MaxLength Config.Field.GetMaxLength"
local:MvxBind="Text Config.Field.TextValue"
android:layout_marginBottom="0.0dp"
android:id="@+id/txtValue"/>
文本绑定还可以。。。我可以看到GetMaxLength属性在我的ViewModel中位于断点上。。。但在EditText控件中仍然被忽略
我想知道EditText属性MaxLength是否可以与MVX绑定。
若有??如何设置?我在视图中做了一个变通方法,并通过EditView.filters设置MaxLength,如下所示:
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
var view = base.OnCreateView(inflater, container, savedInstanceState);
// FIX for max length on Edit Text
if(ViewModel.Config.Field.MaxLength != null)
{
int maxLength = (int)ViewModel.Config.Field.MaxLength;
var editText = view.FindViewById<EditText>(Resource.Id.txtValue);
editText.SetFilters(new Android.Text.IInputFilter[] { new Android.Text.InputFilterLengthFilter(maxLength) });
}
return view;
}
public override视图OnCreateView(布局、充气机、视图组容器、Bundle savedInstanceState)
{
var view=base.OnCreateView(充气机、容器、savedInstanceState);
//修正编辑文本的最大长度
if(ViewModel.Config.Field.MaxLength!=null)
{
int maxLength=(int)ViewModel.Config.Field.maxLength;
var editText=view.findviewbyd(Resource.Id.txtValue);
SetFilters(new Android.Text.IInputFilter[]{new Android.Text.InputFilterLengthFilter(maxLength)});
}
返回视图;
}
如果有其他方法可以通过MVX实现。请让我们知道我在视图中做了一个变通方法,并通过EditView设置了MaxLength。过滤器如下:
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
var view = base.OnCreateView(inflater, container, savedInstanceState);
// FIX for max length on Edit Text
if(ViewModel.Config.Field.MaxLength != null)
{
int maxLength = (int)ViewModel.Config.Field.MaxLength;
var editText = view.FindViewById<EditText>(Resource.Id.txtValue);
editText.SetFilters(new Android.Text.IInputFilter[] { new Android.Text.InputFilterLengthFilter(maxLength) });
}
return view;
}
public override视图OnCreateView(布局、充气机、视图组容器、Bundle savedInstanceState)
{
var view=base.OnCreateView(充气机、容器、savedInstanceState);
//修正编辑文本的最大长度
if(ViewModel.Config.Field.MaxLength!=null)
{
int maxLength=(int)ViewModel.Config.Field.maxLength;
var editText=view.findviewbyd(Resource.Id.txtValue);
SetFilters(new Android.Text.IInputFilter[]{new Android.Text.InputFilterLengthFilter(maxLength)});
}
返回视图;
}
如果有其他方法可以通过MVX实现。请让我们知道@JKL抱歉,您有没有示例代码,关于如何通过弹出窗口或标签显示我的EditText的TextMaxLength?@JKL抱歉,您有没有示例代码,关于如何通过弹出窗口或标签显示我的EditText的TextMaxLength?