绑定ComboBox

时间:2016-10-28 07:35:07

标签: c# wpf combobox

我有一个ObservableCollection个JobTitles,我想绑定到一个ComboBox。通过XAML使用绑定我没有运气,所以我最终做到了这一点;

foreach (PresetModel jobTitle in JobTitles)
{
    var _newItem = new ComboBoxItem();
    _newItem.Content = jobTitle.Text;
    _newItem.Tag = jobTitle.ID;
    jobTitleComboBox.Items.Add(_newItem);
}

这实际上确实将所有JobTitles添加到ComboBox(比我使用bindig更多)但是现在问题是当用户选择具有JobTitle的Employee时,我想在ComboBox中选择相关的JobTitle

理想情况下,我会这样做;

jobTitleComboBox.Text = currentUser.JobTitle;

然而,这不起作用。我只能访问Employees JobTitle文本,而不是我认为没有帮助的标题ID。如何显示员工的相关职称?

2 个答案:

答案 0 :(得分:4)

如果您有一个名为JobsCollection的集合。在此集合中,您拥有JobIdJobName ...等属性。然后,在您的XAML上,您只需写下:

ComboBox ItemsSource="{Binding JobsCollection}" DisplayMemberPath="JobName"

所以,
DisplayMemberPath - >要在Combobox列表中显示哪个属性
Binding - >要绑定的ObservableCollection的名称。

修改:XAML元素的外观如何

<ComboBox ItemsSource="{Binding JobsCollection}" 
          SelectedItem={Binding SelectedItemName} 
          DisplayMemberPath="JobName" />

答案 1 :(得分:0)

设置所需的选定项目索引:

     jobTitleComboBox.SelectedItem = jobTitleComboBox.Items[1];