Xamarin & MvvmCross Handbook
  • Introduction
  • Using MvvmCross to create your first Xamarin App
    • Creating the Core project
      • Understanding MVVM
      • Adding a simple Service
      • Adding a ViewModel
      • Adding an App class
    • Creating the Android project
      • Adding an Android Application class
      • Adding the Android Layout View (AXML)
      • Understanding the data-binding syntax
      • Adding the View class
    • Creating the iOS project
      • Updating the AppDelegate class
      • Adding the iOS View for the first ViewModel
      • Understanding the data-binding syntax
    • Creating the UWP project
      • Updating the App.xaml.cs and the App.xaml
      • Adding the UWP View
      • Understanding the data-binding syntax
    • Creating the REST API Service
      • Creating the models
      • Creating the interface and the implementation for the PostService
      • Creating the ViewModel
      • Adding the View for the Android project
      • Adding the View for the iOS project
      • Adding the View for the UWP project
    • Navigation
      • Creating the PostDetail View & ViewModel
      • Command with the parameter
      • Retrieving the param from the previous ViewModel
      • Understanding the IMvxNavigationService
      • Responding the events from different controls in the ListView
      • Retrieving the return result from the previous ViewModel
    • Creating the Xamarin.Forms project
      • Creating the Forms.UI project
      • Adding the App.xaml and the App.xaml.cs
      • Adding the View
      • Creating the Android project
      • Creating the iOS project
      • Creating the UWP project
      • Summary For Forms
    • Summary
  • Implementing MasterDetail layout in Xamarin.Forms by MvvmCross
    • Introduction
    • Creating the project by MvxScaffolding
    • Creating the MasterDetailPage
      • Creating the ViewModel
      • Creating the XAML file
    • Creating the MasterPage
      • Creating the ViewModel
      • Creating the XAML file
    • Creating the DetailPages
      • Creating the ViewModels
      • Creating the XAML files
    • Implementing the Menu functionalities
      • Displaying the MasterPage and the DetailPage
      • Setting the menu navigation
      • The other approaches to set the data-binding
    • Fine-tuning the UI
      • Adding the hamburger icon for iOS
      • Adding the header bar for Android and iOS
      • Adjust the height of the item for UWP
    • Summary
Powered by GitBook
On this page

Was this helpful?

  1. Using MvvmCross to create your first Xamarin App
  2. Creating the iOS project

Understanding the data-binding syntax

PreviousAdding the iOS View for the first ViewModelNextCreating the UWP project

Last updated 6 years ago

Was this helpful?

Override the ViewDidLoad method in the FirstView.cs by the following code:

public override void ViewDidLoad()
{
      base.ViewDidLoad();
      var set = this.CreateBindingSet<FirstView, FirstViewModel>();
      set.Bind(txtUserName).To(vm => vm.UserName);
      set.Bind(lblGreeting).To(vm => vm.Greeting);
      set.Bind(btnShowGreeting).To(vm => vm.GetGreetingCommand);
      set.Apply();
}

MvvmCross use the fluent syntax to implement data-binding for iOS. First, MvvmCross creates the relationship between the View and the ViewModel by this code:

var set = this.CreateBindingSet<FirstView, FirstViewModel>();

Then you can set the data-binding by For and To methods:

set.Bind(txtUserName).For(x => x.Text).To(vm => vm.UserName);

If For is not provided, MvvmCross will set the default view property. For example, the Text property will be used for a Label control. For more default view properties information, check this document here: .

With the fluent syntax we can continue to specify the binding type, such as OneWay, and TwoWay, etc, like this:

set.Bind(txtUserName).For(x => x.Text).To(vm => vm.UserName).TwoWay();

At last, DO NOT forget to call the Apply method to apply the data-binding:

set.Apply();

We can build and launch the iOS project now. Here is the result:

https://www.mvvmcross.com/documentation/fundamentals/data-binding