Tuesday, August 28, 2012

MvvmCross: Binding Spinner in Mono for Android

I was playing around with binding a Spinner to a ViewModel using MvvmCross on Mono for Android yesterday, and it was not described anywhere how to do that, but I found a solution in the end.

The relevant parts of my ViewModel look like this:
What I am trying to do is to bind the List of PublicSites to the spinner, and when I select one of these in the spinner it sets the SelectedSite.

The binding itself looks like this:
The two layouts simply contain a TextView each which binds the Text property to the DisplayName property in the NoiseSentinelDirectoryEntryV1 class, which holds the name of the Site, so no magic there. Here there are anyways and they should go into the Resources/Layout folder in your project: There is also a color selector used which is placed in Resources/Color: