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

时间:2014-07-07 14:40:08

标签: c# android binding mvvmcross google-glass

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

在我的示例中 - 我正在编写Google Glass客户端并实现多张卡片。当某些信息发送到Glass时,我会创建一张新卡并为新卡的视图充气xml文件,但绑定不会被连接起来。

创建新卡的代码:

 _cardScrollAdapter.AddItem(LayoutInflater.Inflate(Resource.Layout.new_panel_view, null))

创建绑定的XML部分:

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

1 个答案:

答案 0 :(得分:3)

此问题与您使用Android LayoutInflater.Inflate方法传递的视图相关,而不是使用MvvmCross BindingInflate方法。如果文件顶部有using Cirrious.MvvmCross.Binding.Droid.BindingContext;,则以下内容应该有效:

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