Skip to content

Item binding support with fluent API in MvvmCross for MvxRecyclerView

Notifications You must be signed in to change notification settings

lauxjpn/MvxItemBinder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MvxItemBinder

Item binding support with fluent API in MvvmCross for MvxRecyclerView

Using the support classes and extension methods of this repository, you can bind items as in the following code:

var recyclerView = FindViewById<MvxRecyclerView>(Resource.Id.RecyclerView);

var set = this.CreateBindingSet<MainActivity, MainViewModel>();
set.Bind(recyclerView)
	.For(v => v.ItemsSource)
	.To(vm => vm.Items);
set.Apply();

recyclerView.BindItems<ItemViewModel>(this, (itemView, itemSet) =>
itemSet.Bind(itemView.FindViewById<TextView>(Resource.Id.item_template))
	.For(v => v.Text)
	.To(vm => vm.Title)
);

Or event shorter:

var recyclerView = FindViewById<MvxRecyclerView>(Resource.Id.RecyclerView);

var set = this.CreateBindingSet<MainActivity, MainViewModel>();
set.Bind(recyclerView.BindItems<ItemViewModel>(this, (itemView, itemSet) =>
		itemSet.Bind(itemView.FindViewById<TextView>(Resource.Id.item_template))
			.For(v => v.Text)
			.To(vm => vm.Title)))
	.For(v => v.ItemsSource)
	.To(vm => vm.Items);
set.Apply();

About

Item binding support with fluent API in MvvmCross for MvxRecyclerView

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages