当布局更改时,防止WPF ListBox在鼠标下选择项目
|
如果在按住鼠标按钮的同时WPF ListBox收到MouseMove事件,它将更改列表框的选择。也就是说,如果在项目#1上单击鼠标,然后将其拖到项目#2上,它将取消选择项目#1并选择项目#2。我该如何预防?
那是短版。稍长一点的版本是这样的:当用户双击ListBox中的项目时,我对布局进行了其他更改,包括在ListBox上方显示其他控件。这会将ListBox向下移动,这意味着鼠标现在位于与用户双击时不同的ListBoxItem上方。
由于我是根据DoubleClick事件(这是鼠标按下事件)做出这些布局更改的,因此很有可能在此布局更改完成后仍会按下鼠标按钮,这意味着WPF将向ListBox发送一个MouseMove事件(因为鼠标相对于ListBox的位置已更改)。 ListBox将此视为拖动,并选择鼠标下的事件。
我不希望在获得双击事件的时间与用户释放鼠标的时间(可能在布局更改后很好)之间进行选择更改。我怀疑实现此目的的最简单方法是禁用“更改拖动时的选择”行为,但是我愿意接受其他建议。
如何双击双击“锁定”选择,并防止更改直到鼠标悬停?
没有找到相关结果
已邀请:
1 个回复
师埠女