wpf combobox observablecollection

WPF-Cuadro combinado-Agregar elemento cuando el usuario ingresa texto en combo



combobox observablecollection (1)

Enlace la propiedad Texto de su cuadro combinado a su elemento de modelo de vista y luego agréguelo a la colección encuadernada allí, como

Text="{Binding UserEnteredItem, UpdateSourceTrigger=LostFocus}"

Cambie el UpdateSourceTrigger a LostFocus porque el valor predeterminado (PropertyChanged) comunicará cada cambio de carácter a su viewmodel.

// user entered value private string mUserEnteredItem; public string UserEnteredItem { get { return mUserEnteredItem; } set { if (mUserEnteredItem != value) { mUserEnteredItem = value; TypePLCList.Add (mUserEnteredItem); // maybe you want to set the selected item to user entered value TypePLC = mUserEnteredItem; } } } // your selected item private string mTypePLC; public string TypePLC { get { return mTypePLC; } set { if (mTypePLC != value) { mTypePLC = value; // notify change of TypePLC INPC } } } // your itemsource public ObservableCollection <string> TypePLCList { set; private set;}

Tengo un ComboBox vinculado con un ObservableCollection . ¿Cómo puedo hacer cuando el usuario ingresa un texto en el ComboBox , si el elemento no está en la lista, el código agrega automáticamente un nuevo elemento a la lista?

<ComboBox Name="cbTypePLC" Height="22" ItemsSource="{StaticResource TypePLCList}" SelectedItem="{Binding TypePLC}" IsReadOnly="False" IsEditable="True"> </ComboBox>