我有一个扩展 Listbox 类的自定义用户控件。在其中,我将覆盖 OnSelectionChanged 以将 Adorner 添加/删除到任何选定/未选定的项目。当我使用鼠标选择一个项目时,这一切都有效,但是当我使用以编程方式将项目添加到列表框时
myListBox.SelectedItems.Add(newItem) // newItem is already a member of myListBox.Items
它不执行 OnSelectionChanged 代码。
更新:除非我疯了(这总是可能的),否则从父对象调用它之间的行为似乎有所不同
myListBox.SelectedItems.Add(newItem)
以及我的扩展列表框类中的这个方法
Public Sub AddSelectedItem(newItem as Object)
Me.SelectedItems.Add(newItem)
End Sub
出于某种原因,第二个选项会触发事件,而第一个选项则不会。