teclas - ¿Cómo seleccionar un ítem al escribir una tecla de teclado en el cuadro combinado de WPF?
evento al presionar una tecla vb net (3)
Suponiendo que sus elementos están ordenados alfabéticamente, simplemente configurando IsTextSearchEnabled="True"
debería saltar a los elementos que comienzan con la letra (o letras) que escribe en el ComboBox
.
Aquí hay un ejemplo de uno de mis ComboBox
es, he simplificado los enlaces ya que claramente no es la parte importante aquí ...
<ComboBox ItemsSource="{Binding MyObjectList}"
DisplayMemberPath="Description"
SelectedValuePath="Code"
IsTextSearchEnabled="True"/>
Esto funciona perfectamente para seleccionar un valor de la lista, sin embargo, el valor de búsqueda que escriba no se mostrará en la parte del IsEditable
de texto del control, ya que tengo el ajuste de IsEditable
en falso.
Si alguien quisiera explicar por qué se ha rechazado esto, se lo agradecería, no veo ningún problema con la respuesta que he proporcionado y no veo por qué merezco perder la reputación cuando solo trato de ayudar. (y he proporcionado una respuesta razonable!)
Tengo un ComboBox
WPF y quiero ir a los elementos que comienzan con (por ejemplo) "e" en el ComboBox
cuando ComboBox
esa letra. ¿Cómo?
Mi código XAML:
<ComboBox ItemsSource="{Binding Roles}" SelectedValuePath="Id"
ItemTemplate="{StaticResource ComboBoxDisplayName}"
SelectedItem="{Binding SelectedRole}"
Width="150"/>
Todo lo que tenía que hacer era agregar lo siguiente:
TextSearch.TextPath="<what ever you bound to goes here> ie:State or name "
EDITAR: Supongo que usted tiene un ItemTemplate
que se ve un poco así:
<StackPanel>
<TextBlock Text="{Binding Path=Foo}" />
<TextBlock Text="{Binding Path=Bar}" />
</StackPanel>
Si desea buscar en Foo, intente ...
<ComboBox IsEditable = "True" TextSearch.TextPath = "Foo" />
De manera predeterminada, ComboBox
tiene un tipo de autocompletado que encuentra coincidencias en base a la primera letra; suponiendo que su fuente esté ordenada alfabéticamente, esto desplazará el elemento seleccionado a la sección que (por ejemplo) comienza con "e".
Capturar KeyDown
para forzar la apertura del menú desplegable puede ser útil si espera varias entradas que comienzan con la misma letra.