绑定一个组合框
本文关键字:一个 组合 绑定 | 更新日期: 2023-09-27 18:15:31
我有一个ObservableCollection
的JobTitles,我想绑定到一个组合框。通过XAML使用绑定我没有运气,所以我最终这样做了;
foreach (PresetModel jobTitle in JobTitles)
{
var _newItem = new ComboBoxItem();
_newItem.Content = jobTitle.Text;
_newItem.Tag = jobTitle.ID;
jobTitleComboBox.Items.Add(_newItem);
}
这实际上添加了所有的JobTitle到组合框(比我得到的绑定),但现在的问题是,当用户选择一个雇员,谁有一个JobTitle,我想在组合框中选择相关的JobTitle。
理想情况下我会这样做;
jobTitleComboBox.Text = currentUser.JobTitle;
然而,这不起作用。我只能访问Employees JobTitle文本,而不能访问标题的ID,我认为这没有帮助。如何显示雇员的相关职位名称?
如果您有一个名为:JobsCollection
的集合。在这个系列中你有JobId
, JobName
…等属性。然后,在XAML
上,你可以简单地写:
ComboBox ItemsSource="{Binding JobsCollection}" DisplayMemberPath="JobName"
, DisplayMemberPath
->要在组合框列表中显示哪个属性Binding
->要绑定的ObservableCollection的名称。
编辑: XAML元素的样子
<ComboBox ItemsSource="{Binding JobsCollection}"
SelectedItem={Binding SelectedItemName}
DisplayMemberPath="JobName" />
设置所需的选定项索引:
jobTitleComboBox.SelectedItem = jobTitleComboBox.Items[1];