在C#中使用Xamarin表单自动完成

Nag*_*ppa 6 xamarin xamarin.forms

我正在尝试使用Xamarin Forms创建自动完成文本条目.任何人都可以帮我为C#中的自动完成文本字段创建自定义渲染器.我正在使用MVVM概念.

小智 2

您可以使用以下组件来实现它。

带有 TextChanged 事件的输入字段。用于显示数据集的 ListView。第一步,您可以在 StackLayout 中创建垂直对齐的 Entry 和 ListView。将 ListView 的 ItemSource 设置为您的数据集。在 TextChanged 事件的函数中添加以下代码

void OnTextChanged(object sender, EventArgs args)
{
    Site_listView.ItemsSource = vm.SiteList.Where(x => x.siteName.ToLower().Contains(siteNameEntry.Text.ToString().ToLower())).ToList();

}
Run Code Online (Sandbox Code Playgroud)

site_listView、siteNameEntry分别是ListView和Entry的x:Name

您可以在列表视图中使用 ItemSelected/ItemTapped 事件从列表中选择项目并将其分配给 Entry。您还可以使用 Focused、UnFocused 事件来设置列表的可见性。