如何在MvvmCross中动态更新绑定?

本文关键字:更新 绑定 动态 MvvmCross | 更新日期: 2023-09-27 18:11:42

我知道MvvmCross中的绑定最初在我们调用SetContentView时被连接起来。但是,我正在动态地创建一个新视图,并且它的绑定没有被连接起来。是否有一种方法来获得MvvmCross绑定挂钩后SetContentView最初被调用创建的视图?

在我的例子中,我正在为谷歌眼镜客户端编码并实现多个卡。当某些信息被发送到Glass时,我创建了一张新卡,并为新卡的视图膨胀了一个xml文件,但是绑定没有被连接起来。

创建新卡片的代码:
 _cardScrollAdapter.AddItem(LayoutInflater.Inflate(Resource.Layout.new_panel_view, null))

创建绑定的XML部分:

local:MvxBind="Bitmap BitmapConverter(PanelViewModel.Image); Visibility Visibility(PanelViewModel.ShowImage)"

如何在MvvmCross中动态更新绑定?

这个问题与你正在使用Android LayoutInflater.Inflate方法传递视图膨胀的事实有关,而不是使用MvvmCross BindingInflate方法。在你的文件的顶部有一个using Cirrious.MvvmCross.Binding.Droid.BindingContext;,下面应该工作:

_cardScrollAdapter.AddItem(this.BindingInflate(Resource.Layout.media_panel_view,null));