Я использовал AutoCompleteBox в WPF Toolkit, и он почти удовлетворяет все мои потребности, кроме этой неприятной ValueMemberPath
привязки. Это значение, по которому будет автоматически завершено поле предложения.
Итак, у меня есть это поле с фамилией, и когда пользователь начинает вводить фамилию, я динамически получаю 10 лучших результатов на основе этого. Однако, если пользователь набирает «Смит» и выбирает, скажем, 4-е имя в списке, он всегда получает первый результат в списке предложений, потому что ValueMemberPath
настроен на фильтрацию по LastName
. Он всегда просто думает, что «Смит» - это первый результат, даже если есть 50 кузнецов с разными именами.
Я ломал голову, пытаясь понять, как объединить имя с этим свойством. Я попытался изменить ValueMemberPath
на FullName
поле, равное фамилии и имени. Поле предложения прекращает сортировку, как только вводится запятая, или, если это имя «пробел», фамилия тоже не работает.
Я также столкнулся с проблемами с ValueMemberPath
, потому что это значение не может быть изменено динамически, и есть ошибка, при которой оно равно нулю во время отладки: Ошибка AutoCompleteBox: ValueMemberPath имеет значение Null.
Я понимаю, если ни у кого нет полного решения. Я просто подумал, что задам этот вопрос, если люди столкнутся с этим в будущем и не знаю, как с этим справиться.