private void SetupConnectors(ViewModelHome viewModel) { TextView message = FindViewById <TextView>(Resource.Id.mainMessage); new ConnectorTextView(message, viewModel.PageMenu, nameof(PageMenu.Message)); ListView listView = FindViewById <ListView>(Resource.Id.mainItems); List <ViewPropertyBinding> bindings = new List <ViewPropertyBinding> { new ViewPropertyBinding(Resource.Id.Title, "Label"), new ViewPropertyBinding(Resource.Id.Description, "Description"), new ViewPropertyBinding(Resource.Id.Icon, "Image") }; ConnectorListView connectorListView = new ConnectorListView(this, listView, Resource.Layout.TemplateMenuItem, viewModel, viewModel.PageMenu.Items, bindings, "SelectedMenuItem"); }
protected override void OnCreate(Bundle savedInstanceState) { ViewModelState.Initialise(new NavigationService(this), new DeviceIntegration(this)); base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Search); var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); SupportActionBar.Title = "Search"; ViewModelSearch viewModel = new ViewModelSearch(); EditText searchTerm = FindViewById <EditText>(Resource.Id.searchTerm); new ConnectorEditText(searchTerm, viewModel.SearchTerm); _connectorListView = new ConnectorListView <ListItemMovie>(this, FindViewById <ListView>(Resource.Id.searchResults), viewModel, nameof(ViewModelSearch.SearchResults), nameof(ViewModelSearch.TappedSearchResult), (item) => Resource.Layout.TemplateListItemMovie, (context, movie, view, parent) => { if (view == null) { LayoutInflater layoutInflator = context.GetSystemService(Context.LayoutInflaterService) as LayoutInflater; view = layoutInflator.Inflate(Resource.Layout.TemplateListItemMovie, parent, false); } view.FindViewById <TextView>(Resource.Id.listItemMovieTitle).Text = movie.Title; view.FindViewById <TextView>(Resource.Id.listItemMovieYearAndGenre).Text = movie.YearAndGenre; return(view); }); searchTerm.EditorAction += (sender, args) => { viewModel.CommandSearch.Execute(null); }; }