Stuart has done some significant improvements in V3.
This also means, that the syntax for adding the binding-description in a Touch-Project has changed to a fluent syntax:
Here we go:
this.CreateBinding(TextFieldOutlet)
.For(textField => textField.Text)
.To((MainViewModel vm) => vm.SearchText)
.Apply();
This is the code we need in the controller to bind our TextField-Outlet to a property called "SearchText" on our ViewModel.
The "For"-part is not needed for every binding as there are several default-bindings included in the MvvmCross-Binding-Framework. For example when you bind to a TextField it uses the "Text"-property by default. Which means we could write the upper code without the "For".
Here are some more default bindings:
registry.AddOrOverwrite(typeof (UIButton), "TouchUpInside");
registry.AddOrOverwrite(typeof (UIBarButtonItem), "Clicked");
registry.AddOrOverwrite(typeof (UITextField), "Text");
registry.AddOrOverwrite(typeof (UITextView), "Text");
registry.AddOrOverwrite(typeof (UILabel), "Text");
registry.AddOrOverwrite(typeof (MvxCollectionViewSource), "ItemsSource");
registry.AddOrOverwrite(typeof (MvxTableViewSource), "ItemsSource");
registry.AddOrOverwrite(typeof (MvxImageView), "ImageUrl");
registry.AddOrOverwrite(typeof (UIImageView), "Image");
registry.AddOrOverwrite(typeof (UIDatePicker), "Date");
registry.AddOrOverwrite(typeof (UISlider), "Value");
registry.AddOrOverwrite(typeof (UISwitch), "On");
registry.AddOrOverwrite(typeof (IMvxImageHelper), "ImageUrl");
registry.AddOrOverwrite(typeof (MvxImageViewLoader), "ImageUrl");
This for example means, that when you bind anything to a UIButton (normally you will bind an ICommand-instance). It is bound to TouchUpInside as long as you do not specify anything different using the For-Method.
This Defaults are specified in the following code (as long it is not moved XD)