Beispiel #1
0
        private View GetItemView(object item)
        {
            var content = ItemTemplate.CreateContent();

            if (!(content is View) && !(content is ViewCell))
            {
                throw new InvalidViewException("Templated control must be a View or a ViewCell");
            }

            var view = content is View ? content as View : ((ViewCell)content).View;

            view.BindingContext = item;

            if (SelectedItemCommand != null && SelectedItemCommand.CanExecute(item))
            {
                BindSelectedItemCommand(view);
            }

            if (ShowSeparator && ItemsSource.Cast <object>().Last() != item)
            {
                var container = new StackLayout {
                    Spacing = 0
                };

                container.Children.Add(view);
                container.Children.Add(BuildSeparator());

                return(container);
            }

            return(view);
        }
        public UserListPage()
        {
            InitializeComponent();

            UserListView.ItemSelected += (object sender, SelectedItemChangedEventArgs e) => {
                if (e.SelectedItem != null)
                {
                    var UserModel = e.SelectedItem as UserListModel;
                    SelectedItemCommand?.Execute(UserModel);
                }
            };
        }
Beispiel #3
0
        private void SuggestedRepeaterItemSelected(object selectedItem)
        {
            MainEntry.Text      = GetSelectedText(selectedItem);
            MainEntry.TextColor = TextColor;

            ShowHideListbox(false);

            _availableSuggestions.Clear();

            SelectedItem = selectedItem;

            SelectedItemCommand?.Execute(selectedItem);
        }
Beispiel #4
0
        private void OnTapped(object sender, EventArgs e)
        {
            var itemCtrl = sender as ItemContainer;

            if (itemCtrl != null)
            {
                itemCtrl.IsSelected = true;
                Selected?.Invoke(this, EventArgs.Empty);
                if (SelectedItemCommand?.CanExecute(SelectedItem) == true)
                {
                    SelectedItemCommand.Execute(SelectedItem);
                }
            }
        }
Beispiel #5
0
        private void InfiniteListView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            if (e.SelectedItem == null)
            {
                return;
            }

            SelectedItem = null;

            if (SelectedItemCommand != null && SelectedItemCommand.CanExecute(e.SelectedItem))
            {
                SelectedItemCommand.Execute(e.SelectedItem);
            }
        }
Beispiel #6
0
        private void SuggestedRepeaterItemSelected(object selectedItem)
        {
            MainEntry.Text      = GetSelectedText(selectedItem);
            MainEntry.TextColor = TextColor;

            ShowHideListbox(false);

            _availableSuggestions.Clear();

            SelectedItem = selectedItem;

            SelectedItemCommand?.Execute(selectedItem);
            MainEntry.Text = string.Empty;
            OnSelectedItem?.Invoke(this, new EventArgs());
        }
Beispiel #7
0
        private void BindSelectedItemCommand(View view)
        {
            if (!SelectedItemCommand.CanExecute(view.BindingContext))
            {
                return;
            }

            var tapGestureRecognizer = new TapGestureRecognizer {
                Command = SelectedItemCommand, CommandParameter = view.BindingContext
            };

            if (view.GestureRecognizers.Any())
            {
                view.GestureRecognizers.Clear();
            }

            view.GestureRecognizers.Add(tapGestureRecognizer);
        }