我有一个列表框,如果用户尚未完成某些任务,我想阻止更改列表框的选择,这是我目前可以提供的最好解释,在 WinForms 中曾经有选择更改,并且具有可取消的事件争论,我们甚至可以捕获和取消更改选择。
我以为我会继承列表框并做一些事情,但在内部 Selector 类中的所有功能都被隐藏,我可以在反射器中看到这些功能,但我无法继承和重写任何方法!!
最佳答案
我从 ListBox 派生了一个 MyListBox 类,并添加了名为 SelectionChanging 的事件,该事件是可取消的事件。然后我使用 MyListBoxItem 作为 MyListBox 中的 ItemContainer,它处理预览鼠标左键向上事件并引发选择更改事件,在取消值时,我将事件标记为已处理,这会阻止新的选择,并允许我通知用户执行某些操作。
关于wpf - 如何在WPF中的ListBox中编写 "Selection Changing"事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2802825/