Я пытаюсь использовать AutoSuggestBox для отображения данных как набранных из строки.
Я попытался создать массив с некоторыми словами, которые будут отображаться в AutoSuggestBox в качестве пользовательских типов, однако мне нужны данные из API, которые хранятся в строке, чтобы показать в AutoSuggestBox. На данный момент я использую массив для отображения 3 слов в качестве пользовательских типов и строку, содержащую данные API, добавляемую в ListBox.
Это, однако, выполняется в методе AutoSuggestBox_TextChanged, поэтому по мере ввода пользователем пользовательские данные добавляются в ListBox.
private async void AutoSuggestBox_TextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args)
{
string[] Autoitems = new string[] { "check", "apple", "banana" } //Temporary Array for AutoSuggestBox
var Auto = (AutoSuggestBox)sender;
var Suggestion = Autoitems.Where(p => p.StartsWith(Auto.Text, StringComparison.OrdinalIgnoreCase)).ToArray();
Auto.ItemsSource = Suggestion; //This displays only items from array as being typed.
string searchedName = SearchBox.Text;
myFood = await NutritionixAPI.GetFood(searchedName);
//The data I get from the API is stored in the temp string
string temp = myFood.hits[0].fields.item_name + " Calories: " + myFood.hits[0].fields.nf_calories + " Protein: " + myFood.hits[0].fields.nf_protein + " Fat: " + myFood.hits[0].fields.nf_total_fat;
ResultListBox.Items.Add(temp); //temp string data is added to a listbox
Total += myFood.hits[0].fields.nf_calories;
TotalCalories.Text = ((int)Total).ToString(); //Adds the calories of each added food to the Total Variable and Display it
}
Я ожидаю, что AutoSuggestBox покажет мне данные из строки как набранные. Например, «Бана» - список продуктов, всплывающих с именем Бана.
Но фактическим результатом является AutoSuggestBox, показывающий, что ArrayData и данные API в строке добавляются в ListBox как набранные.