正在从组合框中获取所选对象';s selectedItem

本文关键字:对象 selectedItem 组合 获取 | 更新日期: 2023-09-27 18:08:37

我遇到了一个看似简单的问题,但似乎无法解决它>_<

我有一个用myCustomObjects填充的comboBox(以编程方式(。当我点击一个按钮时,我想获取当前选择的myCustomObject并将其放在另一个列表中。我该怎么做?myComboBox.SelectedItem返回一个comboBoxItem,而不是myCustomObject。

正在从组合框中获取所选对象';s selectedItem

SelectedItem属性返回列表绑定到的整个对象。它返回一个对象,您可以将其强制转换为自己的类型。
if (myComboBox.SelectedItem is MyObjectType)
{
   MyObjectType myObj =  (MyObjectType)myComboBox.SelectedItem;
}

编辑

如果以编程方式填充项目,则必须将实际对象标记到ComboBoxItem.tag属性,或者获取myComboBox.SelectedValue并从项目列表中找到相应的项目。

希望这是值得您关注的内容:SelectedItem、SelectedValue和SelectedValuePath 之间的差异

您的ComboBox.SelectedItem绑定到ComboBoxItem,因为您可能没有将ComboBox.ItemsSource设置为对象集合。相反,我认为您可以手动将对象添加为ComboBoxItems。如果将ItemsSource绑定到集合,则SelectedItem将返回对象。

ComboBoxItem.TagComboBoxItem.Content应保持所需值。您还可以检查ComboBox.SelectedValue适用于