В настоящее время я работаю над проектом WPF C #.Я использую элемент управления WPC AutoCompleteBox, но у меня возникла проблема с получением значения из коробки.
Предполагая, что поле автозаполнения предназначено для имени сервера, когда я набираю 'loc', во всплывающем окне будет отображаться 'localhost', и я выбираю значение из выпадающего списка.
Когда я тогда попытаюсь отправить форму и попытаться получить значение поля, оно получит значение того, что я печатаю, а не того, которое я выбрал, то есть значение будет 'loc'.
Ниже приведен код, который я использую для заполнения элементов автозаполнения для элемента управления
using (SQLiteDataReader reader = cmd.ExecuteReader())
{
List<string> serverArr = new List<string>();
while (reader.Read())
{
serverArr.Add(reader["his_server"].ToString());
}
txtServer.ItemsSource = serverArr;
}
Я получаю значение из autocompletebox, сказав txtServer.Text;
Обновление
По предложению @Tom Studee я попытался использовать txtServer.selectedItem, который прекрасно работает, когда выбран элемент из автозаполнения.Однако, если введено значение, которое не находится в раскрывающемся меню автозаполнения, произойдет сбой с исключением из-за нулевого указателя.