2013-07-18 11 views

Odpowiedz

9

Dobra, po wielu zmaganiach w końcu otrzymałem odpowiedź.

Musiałem zrobić następujące rzeczy.

1) Dodano instrukcję import:

using Cirrious.MvvmCross.Binding.BindingContext; 

2) Dodano następujący kod:

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); 
    } 
} 

mam już "TableLayout" w moim pliku HelloView.axml i wszystkim, że jestem w tym celu tworzy się nową kontrolkę pola EditText (txtRace) i dodając ją do widoku, a jednocześnie wiążąc ją z właściwością "Race" obiektu HelloViewModel.

Spędzam dużo czasu próbując dowiedzieć się, w jakiej przestrzeni nazw istnieje metoda CreateBindingSet(), ponieważ VS2012 nie dawał mi żadnej wiedzy na ten temat.

Mam nadzieję, że pomoże to komuś, kto ma podobny problem.

+0

Dobrze wiedzieć, że masz to posortowane. Powodzenia! –

2

Tak MvvmCross obsługuje właściwości wiązania z formantami utworzonymi w środowisku wykonawczym. Możesz oglądać ten samouczek przez niesamowitego Mr. Stuarta w jego serii N + 1. http://www.youtube.com/watch?feature=player_embedded&v=cYu_9rcAJU4

Uwaga: pokazywał to wiele razy w serii, ale pamiętam ten na samym początku mojej głowy.

+0

Dzięki Mohib za odpowiedź. – Amit

+0

Nadal jestem uderzony w tej kwestii. Patrzyłem na ten artykuł: http://stackoverflow.com/questions/16724278/mvvmcross-for-android-how-to-do-binding-incode. Problem, przed którym stoję, polega na tym, że nie jestem w stanie uzyskać metody CreateBindingSet(). Obecnie moja aktywność dziedziczy po MvxActivity. Czy brakuje jakiegoś odniesienia do zespołu lub przestrzeni nazw. – Amit

+0

Dzięki za link do filmu. Ta część, o której wspomniał pan Stuart, może mieć wiele modeli widoku, była pomocna. –

Powiązane problemy