将组合框文本添加到其Itemssource中

时间:2017-08-18 11:15:23

标签: c# wpf entity-framework mvvm combobox

我有一个组合框通过MVVM绑定到名为Tenderness的表。我正在使用Entity Framework。它正确显示所有记录,但我需要添加其他功能。假设用户键入了未包含在组合框的Itemssource中的文本,我希望能够将其直接添加到表中,然后更新Itemssource。现在我已经能够在没有MVVM的情况下做到这一点,我想知道,如何使用MVVM实现它。

1 个答案:

答案 0 :(得分:1)

执行您之前在LostFocus事件处理程序中执行的操作,该事件处理程序位于绑定到Text的{​​{1}}属性的源属性的setter中。

查看型号:

ComboBox

查看:

public ObservableCollection<string> Items { get; } = new ObservableCollection<string>() { "a", "b", "c" };

private string _text;
public string Text
{
    get { return _text; }
    set
    {
        _text = value;
        OnPropertyChanged(nameof(Text));

        //add the missing value...
        if (!Items.Contains(_text))
            Items.Add(_text);
    }
}

private string _selectedItem;
public string SelectedItem
{
    get { return _selectedItem; }
    set
    {
        _selectedItem = value;
        OnPropertyChanged(nameof(SelectedItem));
    }
}