Xamarin.forms 单击“Xamarin表单搜索栏”显示搜索选项

Xamarin.forms 单击“Xamarin表单搜索栏”显示搜索选项,xamarin.forms,Xamarin.forms,我是否可以在Xamarin表单中使用搜索栏,并使其在我单击后自动选择“显示我选择的建议”作为下拉列表,然后单击建议后,它将用文本填充搜索栏 看起来像这样: 但是主要的区别是,用户不必输入r就可以获得建议。只要用户点击搜索栏,建议就会出现 谢谢所以您可以将您的建议添加到一个只有在其中有项目时才可见的集合中。一旦用户键入值得推荐的内容,您就可以添加到该集合中。如果用户选择选项或继续键入,则需要清除/更新集合 代码 ObservableCollection<SuggestionViewModel

我是否可以在Xamarin表单中使用搜索栏,并使其在我单击后自动选择“显示我选择的建议”作为下拉列表,然后单击建议后,它将用文本填充搜索栏

看起来像这样:

但是主要的区别是,用户不必输入r就可以获得建议。只要用户点击搜索栏,建议就会出现


谢谢

所以您可以将您的建议添加到一个只有在其中有项目时才可见的集合中。一旦用户键入值得推荐的内容,您就可以添加到该集合中。如果用户选择选项或继续键入,则需要清除/更新集合

代码

ObservableCollection<SuggestionViewModel> SuggestionCollection { get; } = new ObservableCollection<SuggestionViewModel>(); 


public SuggestionViewModel
{
   public string Name {get; set;}
}
observeCollection SuggestionCollection{get;}=new observeCollection();
公共建议视图模型
{
公共字符串名称{get;set;}
}
XAML

<StackLayout> 
    <SearchBar Placeholder="Search" Text="{Binding SearchText}"/> 
    <StackLayout BindableLayout.ItemsSource="{Binding SuggestionCollection}"
                 Orientation="Vertical">
        <BindableLayout.ItemTemplate>
            <DataTemplate>
                <Label Text={Binding Name}>
            </DataTemplate>
        </BindableLayout.ItemTemplate>
    </StackLayout>
</StackLayout> 

您将需要用ContentView“覆盖”xaml片段,这样建议stacklayout不会干扰您的初始ContentView布局。像这样的

<Grid>
   <StackLayout>
   </StackLayout>
   <ContentView>
   </ContentView>
</Grid>


您可以在搜索栏下方添加一个StackLayout,在搜索后显示您的建议。由于XF不提供此类功能,您必须自己构建某种建议视图,因此我的代码看起来会像:
(此处有某种建议)