public AutoCompleteView() { //InitializeComponent(); stkBase = new StackLayout(); var innerLayout = new StackLayout(); entText = new Entry() { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.Start }; btnSearch = new Button() { VerticalOptions = LayoutOptions.Center, Text = "Search" }; lstSugestions = new ListView() { HeightRequest = 250, HasUnevenRows = true }; innerLayout.Children.Add(entText); innerLayout.Children.Add(btnSearch); stkBase.Children.Add(innerLayout); stkBase.Children.Add(lstSugestions); Content = stkBase; entText.TextChanged += (s, e) => { Text = e.NewTextValue; }; btnSearch.Clicked += (s, e) => { if (SearchCommand != null && SearchCommand.CanExecute(Text)) { SearchCommand.Execute(Text); } }; lstSugestions.ItemSelected += (s, e) => { entText.Text = GetSearchString(e.SelectedItem); AvailableSugestions.Clear(); ShowHideListbox(false); SelectedCommand.Execute(e); if (ExecuteOnSugestionClick && SearchCommand != null && SearchCommand.CanExecute(Text)) { SearchCommand.Execute(e); } }; AvailableSugestions = new ObservableCollection <object>(); this.ShowHideListbox(false); lstSugestions.ItemsSource = this.AvailableSugestions; //lstSugestions.ItemTemplate = this.SugestionItemDataTemplate; }
public AutoCompleteView() { InitializeComponent(); entText.TextChanged += (s, e) => { Text = e.NewTextValue; }; btnSearch.Clicked += (s, e) => { if (SearchCommand != null && SearchCommand.CanExecute(Text)) { SearchCommand.Execute(Text); } }; lstSugestions.ItemSelected += (s, e) => { entText.Text = GetSearchString(e.SelectedItem); AvailableSugestions.Clear(); ShowHideListbox(false); SelectedCommand.Execute(e); if (ExecuteOnSugestionClick && SearchCommand != null && SearchCommand.CanExecute(Text)) { SearchCommand.Execute(e); } }; AvailableSugestions = new ObservableCollection <object>(); this.ShowHideListbox(false); lstSugestions.ItemsSource = this.AvailableSugestions; //lstSugestions.ItemTemplate = this.SugestionItemDataTemplate; }