selectlistitem net mvc item dropdownlist combo asp .net wpf combobox editing

.net - net - ComboBox editable con enlace al valor no en la lista



selectlistitem selected value c# (2)

Tengo un combobox editable donde no siempre el elemento preferido está en la lista desplegable.

Me gustaría tener la posibilidad de ingresar manualmente texto en el cuadro de texto que se propaga a la cadena vinculada a SelectedValue.

En este momento, la cadena vinculada a SelectedValue solo se actualiza si el valor ingresado está activado en los elementos de ComboBox.

¿Cómo puedo permitir que los valores personalizados que no están disponibles en la lista de ComboBox se ingresen manualmente y se propaguen correctamente al valor encuadernado?


Establecer el enlace a la propiedad Text de Combo también será suficiente.

<ComboBox IsTextSearchEnabled="True" IsEditable="True" ItemsSource="{Binding Items}" Text="{Binding SelectedItemText, Mode=TwoWay}" />


Solo estaba haciendo esto ayer y hoy y se ve así:

  1. establecer el combobox IsEditable="true"

  2. en lugar de vincularse a SelectedItem , enlace a la propiedad Text del cuadro combinado

  3. si está vinculando a un objeto personalizado en lugar de solo cadenas, también debe establecer TextSearch.TextPath="NameOfField" . Esto permite que el comportamiento de búsqueda de texto funcione y también muestra esta propiedad en el cuadro de texto.

En general, terminé con algo como:

<ComboBox x:Name="c" IsEditable="True" IsTextSearchEnabled="True" IsTextSearchCaseSensitive="False" StaysOpenOnEdit="True" Text="{Binding NameOnViewModel}" TextSearch.TextPath="NameOnChildItems" ItemsSource="{Binding Items}" ItemTemplate="{StaticResource DataTemplate}" /> <TextBlock Text="{Binding ElementName=c,Path=Text}" />