.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í:
establecer el combobox
IsEditable="true"
en lugar de vincularse a
SelectedItem
, enlace a la propiedadText
del cuadro combinadosi 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}" />