我有一个 ComboBox
,它看起来像这样:
<ComboBox
ItemsSource="{Binding JobList}"
SelectedValue="{Binding Job,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"
DisplayMemberPath="Title"
SelectedValuePath="Id"
IsEditable="True"
StaysOpenOnEdit="True"
/>
并且它绑定到我的ViewModel
,看起来像这样:
public class ViewModel {
// this will fill from a database record for a person
public Job Job {
get { return _job; }
set {
if(value == _job) return;
_job = value;
OnPropertyChanged( () => Job );
}
}
// this will fill from all jobs records in database
public ObservableCollection<Job> JobList
{ /* do same as Job to implementing INotifyPropertyChanged */ }
}
任务是:Job
public class Job {
public int Id { get; set; }
public string Title { get; set; }
}
我希望能够用工作列表填充ComboBox
。如果用户指定的Job
在列表中,用户可以从列表中选择它,否则,用户将在ComboBox
中输入新的Job.Title
,视图模型会发出通知,并创建一个新的Job
项目并将其添加到JobList
中。
你有任何想法吗?能帮我一下吗?