如何将自动完成框与mvvm中的模型绑定?

如何将自动完成框与mvvm中的模型绑定?,mvvm,wpftoolkit,Mvvm,Wpftoolkit,我公开了一个集合,并将其绑定到autocompletebox的itemsource,它可以工作,但选择或更改autocompletebox上的文本不会像文本框或标签一样更新模型 视图模型: public ObservableCollection<String> SymptomsDb { get; private set; } private String symptom; public String Symptom { get { return symptom; }

我公开了一个集合,并将其绑定到autocompletebox的itemsource,它可以工作,但选择或更改autocompletebox上的文本不会像文本框或标签一样更新模型

视图模型:

public ObservableCollection<String> SymptomsDb { get; private set; }

private String symptom;

public String Symptom
{
    get { return symptom; }
    set
    {
        symptom = value;
        RaisePropertyChanged(() => this.Symptom);
    }
}

public AnalysisViewModel()
{
    List<String> s = new List<String>();
    s.Add("test");
    SymptomsDb = new ObservableCollection<String>(s);
}
public observeCollection症状db{get;private set;}
私家弦征;
公共字符串症状
{
获取{返回症状;}
设置
{
症状=值;
RaisePropertyChanged(()=>此症状);
}
}
公共分析视图模型()
{
列表s=新列表();
s、 添加(“测试”);
症状Db=新的可观察到的集合;
}
视图:


要将用户界面更改回viewmodel,您将始终需要双向绑定属性(除了某些双向绑定的属性,如TextBox.TextProperty):


谢谢。我花了几个小时试图理解为什么控件不能将文本属性正确绑定到IDataErrorInfo类。
<controls:AutoCompleteBox 
    ItemsSource="{Binding SymptomsDb}" 
    SelectedItem="{Binding Symptom}" 
    Text="{Binding Symptom}" 
    IsTextCompletionEnabled="True" 
    FilterMode="Contains"/>
<controls:AutoCompleteBox 
    ItemsSource="{Binding SymptomsDb}" 
    SelectedItem="{Binding Symptom, Mode=TwoWay}" 
    Text="{Binding Symptom}" 
    IsTextCompletionEnabled="True" 
    FilterMode="Contains"/>