Ich habe eine Anwendung, in der die meisten Steuerelemente in Code erstellt und dann mithilfe der AddView-Methode zum Layout hinzugefügt werden. Erlaubt das Framework die Bindung von ViewModel-Eigenschaften an Steuerelemente mit Code oder nur in der axml-Datei?Ermöglicht MvvmCross das Binden von ViewModel-Eigenschaften an Steuerelemente, die während des Betriebs erstellt werden?
Antwort
In Ordnung, nach einer Menge Kampf habe ich endlich die Antwort bekommen.
Ich musste die folgenden Dinge tun.
1) Hinzugefügt eine Import-Anweisung:
using Cirrious.MvvmCross.Binding.BindingContext;
2) den folgenden Code hinzugefügt:
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);
}
}
Ich habe bereits ein "Tablelayout" in meiner HelloView.axml Datei und alles, was ich bin Dabei erstellen Sie ein neues EditText-Box-Steuerelement (txtRace) und fügen es der Ansicht hinzu und binden es gleichzeitig an die "Race" -Eigenschaft des HelloViewModel-Objekts.
Ich verbringe viel Zeit damit herauszufinden, in welcher Namespace CreateBindingSet() -Methode existiert, weil VS2012 mir keine Intelliszenz dazu gegeben hat.
Hoffe das hilft jemandem mit ähnlichen Problem konfrontiert.
Ja MvvmCross unterstützt Bindungseigenschaften für Steuerelemente, die zur Laufzeit erstellt werden. Sie können dieses Tutorial von dem großartigen Mr. Stuart in seiner N + 1 Serie sehen. http://www.youtube.com/watch?feature=player_embedded&v=cYu_9rcAJU4
Hinweis: Er hat dies oft in der Serie gezeigt, aber ich erinnere mich an dieses eine auf der Oberseite meines Kopfes jetzt.
Vielen Dank Mohib für Ihre Antwort. – Amit
Ich bin immer noch in dieser Frage betroffen. Ich habe diesen Artikel angeschaut: http://stackoverflow.com/questions/16724278/mvvmcross-for-android-how-to-do-binding-in-code. Das Problem, dem ich gegenüberstehe, ist, dass ich die Methode CreateBindingSet() nicht bekommen kann. Derzeit erbt meine Aktivität von MvxActivity. Fehle ich eine Assembly-Referenz oder einen Namespace? – Amit
Danke für den Link zum Video. Der Teil, wo Herr Stuart Sie erwähnt, kann mehrere Ansichtsmodelle haben, war hilfreich. –
- 1. Fortschrittsbalken, der während des Betriebs
- 2. Registrieren eines JAR während des Betriebs
- 3. MvvmCross Checkbox an Befehl android xml binden
- 4. PowerShell-IDE, die Bearbeitung während des Debuggens ermöglicht
- 5. MvvmCross Bindet an UIButton.TitleLabel.Text
- 6. MvvmCross - MvxListView mehrere Klicks binden
- 7. Xamarin iOS, binden "Eigenschaft aktivieren" mit MVVMCross
- 8. Null-Service während des Betriebs JUnit-Test mit Spring
- 9. Kann ich während des Betriebs eine Spalte zu Slickgrid hinzufügen?
- 10. Reihenfolge des Betriebs mit Rohrleitungen
- 11. Wie kann ich die Dauer für eine Animation von Android AnimationDrawable während des Betriebs ändern?
- 12. Ist es sicher, WPF-Steuerelemente an Daten zu binden, die in Timer aktualisiert werden?
- 13. Zugriff auf das Mikrofon während des Betriebs nicht möglich Dialogdemo in sphinx4 5prealpha
- 14. Programmgesteuertes Erstellen und Binden von Android-Spinnern in MvvmCross
- 15. Wie viele verschachtelte Steuerelemente können erstellt werden?
- 16. MVIEW „ermöglicht das Umschreiben von Abfragen“ usage
- 17. Javascript Stunden des Betriebs Computer Zeitzone
- 18. Der Nachrichtenfilter zeigte an, dass die Anwendung beschäftigt ist, während mehrere Webbrowser-Steuerelemente gleichzeitig verwendet werden
- 19. MvvmCross Ansichtsmodell-Eigenschaft binden, um Eigenschaft anzuzeigen
- 20. MvvmCross: Leere Bindung Ziel an MvxTargetBindingFactoryRegistry übergeben
- 21. Binden einer DataGridComboBoxColumn an die ItemsSource des DataGrid in C#
- 22. So binden Sie die Sichtbarkeit des Bildes an die Benutzereigenschaft
- 23. knockout JS an Eigenschaften des Objekts binden
- 24. WPF, das mehrere Steuerelemente an verschiedene Datenkontexte bindet
- 25. Modulo in der Reihenfolge des Betriebs
- 26. So passen Sie das Formularfenster basierend auf der Bildschirmauflösung während der Laufzeit an (wobei die Größe des während des Entwurfs erstellten Fensters zu groß ist)
- 27. Binden der Enabled-Eigenschaft einer Android-Schaltfläche mit dem MvvmCross
- 28. CodeIgniter-Authentifizierungssystem, das die Authentifizierung von Drittanbietern ermöglicht?
- 29. Wie die Formulardaten an das Modell in MVC3 binden
- 30. Wie binden Sie die hochgeladene Datei an die Objekteigenschaft an?
Gut zu wissen, dass Sie es sortiert haben. Viel Glück! –