xamarin.android – MvvmCross是否允许将ViewModel属性绑定到动态创建的控件?

xamarin.android – MvvmCross是否允许将ViewModel属性绑定到动态创建的控件?,第1张

概述我有一个应用程序,其中大多数控件是在代码中创建的,然后使用AddView方法添加到布局中.框架是否允许使用代码将ViewModel属性绑定到控件,或者只能在axml文件中完成? 好吧,经过很多努力,我终于得到了答案. 我必须做以下事情. 1)添加了一个import语句: using Cirrious.MvvmCross.Binding.BindingContext; 2)添加了以下代码: prot 我有一个应用程序,其中大多数控件是在代码中创建的,然后使用AddVIEw方法添加到布局中.框架是否允许使用代码将viewmodel属性绑定到控件,或者只能在axml文件中完成?解决方法 好吧,经过很多努力,我终于得到了答案.

我必须做以下事情.

1)添加了一个import语句:

using CirrIoUs.MvvmCross.Binding.BindingContext;

2)添加了以下代码:

protected overrIDe voID OnCreate(Bundle bundle){    base.OnCreate(bundle);    SetContentVIEw(Resource.Layout.Hello);    tableLayout containerLayout = this.FindVIEwByID<tableLayout>(Resource.ID.containerLayout);    if (containerLayout != null)    {                                  tableRow newRow = new tableRow(base.ApplicationContext);        newRow.SetMinimumHeight(50);        var txtRace = new EditText(ApplicationContext);        txtRace.Hint = "Race";        var bindingSet = this.CreateBindingSet<HellovIEw,Helloviewmodel>();        bindingSet.Bind(txtRace).To(vm => vm.Race);        bindingSet.Apply();        newRow.AddVIEw(txtRace);        containerLayout.AddVIEw(newRow);    }}

我已经在HellovIEw.axml文件中有一个“tableLayout”,我在这里做的就是创建一个新的EditText框控件(txtRace)并将其添加到视图中,同时将其绑定到“Race”属性Helloviewmodel对象.

我花了很多时间试图找出存在什么命名空间的CreateBindingSet()方法,因为VS2012没有给我任何关于它的智能.

希望这有助于面临类似问题的人.

总结

以上是内存溢出为你收集整理的xamarin.android – MvvmCross是否允许将ViewModel属性绑定到动态创建的控件?全部内容,希望文章能够帮你解决xamarin.android – MvvmCross是否允许将ViewModel属性绑定到动态创建的控件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1130686.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存