Вот решение об использовании Entry
и ListView
для отображения обновленного списка при изменении текста в Entry
.
Xaml :
<Entry x:Name="MainEntry" TextChanged="MainEntry_TextChanged" Placeholder="Inupt Adress"/>
<ListView x:Name="NameListView" HasUnevenRows="True">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Label Text="{Binding .}" TextColor="Navy" FontSize="40"/>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
ContentPage : пример данных первой настройки для ListView
,
List<string> adressnames = new List<string>()
{
"Alabama", "Florida" , "Kentucky" , "Missouri", "North Carolina" ,"South Dakota" , "Wisconsin"
};
NameListView.ItemsSource = adressnames;
![enter image description here](https://i.stack.imgur.com/uVmDP.png)
Теперь, когда текст изменен, ListView выведет списокобновленные данные:
private void MainEntry_TextChanged(object sender, TextChangedEventArgs e)
{
var keyword = MainEntry.Text;
NameListView.ItemsSource = adressnames.Where(name => name.Contains(keyword));
}
![enter image description here](https://i.stack.imgur.com/YrFAx.png)
Кстати, , вы также можете использовать SearchBar
для достижения этого:
<SearchBar x:Name="MainSearchBar" TextChanged="MainSearchBar_TextChanged" Placeholder="Inupt Adress"/>
С текстом Измененный метод:
private void MainSearchBar_TextChanged(object sender, TextChangedEventArgs e)
{
var keyword = MainSearchBar.Text;
NameListView.ItemsSource = adressnames.Where(name => name.Contains(keyword));
}
![enter image description here](https://i.stack.imgur.com/4CszK.png)