我知道当我们调用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)"
答案 0 :(得分:3)
此问题与您使用Android LayoutInflater.Inflate
方法传递的视图相关,而不是使用MvvmCross BindingInflate
方法。如果文件顶部有using Cirrious.MvvmCross.Binding.Droid.BindingContext;
,则以下内容应该有效:
_cardScrollAdapter.AddItem(this.BindingInflate(Resource.Layout.media_panel_view,null));