以下是一个示例代码,演示如何使用C#将城市名称绑定到AutoSuggestBox中:
using System.Collections.Generic;
using Windows.UI.Xaml.Controls;
// 创建一个City类,表示城市
public class City
{
public string Name { get; set; }
}
public sealed partial class MainPage : Page
{
// 创建一个城市列表
private List cities = new List()
{
new City() { Name = "北京" },
new City() { Name = "上海" },
new City() { Name = "广州" },
new City() { Name = "深圳" },
new City() { Name = "杭州" }
};
public MainPage()
{
this.InitializeComponent();
// 设置AutoSuggestBox的ItemSource为城市列表
autoSuggestBox.ItemsSource = cities;
}
// 当用户输入文本时,根据输入的内容筛选城市列表,并更新AutoSuggestBox的建议列表
private void autoSuggestBox_TextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args)
{
string searchText = sender.Text;
// 根据输入的内容筛选城市列表
var suggestions = cities.Where(city => city.Name.StartsWith(searchText)).ToList();
// 更新AutoSuggestBox的建议列表
sender.ItemsSource = suggestions;
}
// 当用户选择一个建议项时,将城市名称显示在AutoSuggestBox中
private void autoSuggestBox_SuggestionChosen(AutoSuggestBox sender, AutoSuggestBoxSuggestionChosenEventArgs args)
{
City selectedCity = args.SelectedItem as City;
sender.Text = selectedCity.Name;
}
}
在XAML中,需要将AutoSuggestBox的TextChanged和SuggestionChosen事件绑定到相应的事件处理程序:
这样,当用户输入文本时,AutoSuggestBox将根据输入的内容动态筛选建议列表,并在用户选择建议项时将城市名称显示在AutoSuggestBox中。