以下代码中引发异常的可能原因是什么?
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 事件。
编辑: oldItem 和 newItem 是相同类型的简单业务对象。它们不为空。