У меня есть поле со списком в WPF, которое использует следующий шаблон данных.С помощью форума я смог заставить его отображаться и вести себя должным образом.
Когда раскрывающийся список открыт, я бы хотел, чтобы пользователь мог набирать букву, и чтобы в раскрывающемся списке пропускался этот выбор.,Я видел, что это реализовано двумя способами, один из которых в основном захватывает ввод с клавиатуры в текстовом поле в поле со списком и выбирает в зависимости от того, что набрал пользователь.Это позволяет пользователю ждать и вводить больше текста, который добавляется к критериям.Другой случай, когда ввод с клавиатуры не фиксируется нигде, если вы наберете букву, подождите пару секунд и наберите другую букву, она приведет вас к выбору, начиная со второй введенной вами буквы.Если вы хотите набрать несколько букв критериев поиска, вы должны быстро набрать их вместе.
Я был бы рад любому подходу.Они могут выбрать только элемент, хотя он находится в списке, поэтому мне не очень нравится идея поместить элемент управления для редактирования в поле со списком, где они могут вводить все, что захотят.Я мог бы сделать это и проверить их ввод, но вместо этого заставить их выбрать что-то, находящееся в списке.
В этом случае это список системных цветов, которых более 140, поэтомумне нужно быстро обойти список.
Вот мой шаблон данных, который я использую.
<DataTemplate x:Key="ColorSelectionComboBox" DataType="ComboBox">
<StackPanel Orientation="Horizontal">
<Rectangle Width="16" Height="16" Margin="0,2,4,2">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Color}"/>
</Rectangle.Fill>
</Rectangle>
<TextBlock Text="{Binding Name}"/>
</StackPanel>
</DataTemplate>
Любые идеи приветствуются.