列表框.SelectedItem拒绝设置
本文关键字:设置 拒绝 SelectedItem 列表 | 更新日期: 2023-09-27 18:07:10
下面代码中抛出异常的可能原因是什么?
var oldItem = this.MyListBox.SelectedItem;
if (this.MyListBox.Items.Contains(newItem))
{
this.MyListBox.SelectedItem = newItem;
if (this.MyListBox.SelectedItem != newItem && this.MyListBox.SelectedItem == oldItem)
throw new ApplicationException("WTF?");
}
在任何点都不是ListBox。引发SelectionChanged事件。
EDIT: oldItem和newItem是相同类型的简单业务对象。
您需要像这样使用SetSelected方法:
MyListBox.SetSelected(index, true);
或者像这样设置在条目本身上:
MyListBox.Items(index).Selected = true;
我不确定你的问题中newItem
是什么,所以你需要在列表中识别它的索引,并将其放在上面代码片段中我有index
的地方。