Example #1
0
        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");
        }
Example #2
0
        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);
            };
        }