2014-07-07 5 views
3

MvvmCross의 바인딩은 처음에 SetContentView를 호출 할 때 연결된다는 것을 알고 있습니다. 그러나, 나는 동적으로 새로운 뷰를 생성하고 그것으로부터의 바인딩은 연결되지 않는다. SetContentView를 처음 호출 한 후 생성 된 뷰에 MvvmCross 바인딩을 연결하는 방법이 있습니까?MvvmCross의 바인딩을 어떻게 동적으로 업데이트 할 수 있습니까?

구체적으로 - Google Glass 클라이언트를 코딩하고 여러 개의 카드를 구현하고 있습니다. 특정 정보가 Glass로 전송되면 새 카드를 만들고 새 카드의보기 용 XML 파일을 부 풀리지 만 바인딩이 연결되지 않습니다. XML의

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

부분 바인딩 작성 :

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

답변

3

문제는 당신이보기를 통과한다는 사실과 관련이 안드로이드를 사용하여 팽창을

코드는 새 카드를 만들 수 있습니다 LayoutInflater.Inflate 메서드를 사용하는 대신 MvvmCross BindingInflate 메서드를 사용하십시오. 파일 상단에 using Cirrious.MvvmCross.Binding.Droid.BindingContext;을 입력하면 다음과 같이 작동합니다.

_cardScrollAdapter.AddItem(this.BindingInflate(Resource.Layout.media_panel_view,null)); 
관련 문제