简单问题:
1) 我在一个ListBox中点击并长按鼠标一个ListBoxItem。
2) 现在我将鼠标光标向下拖动到列表中的下一个ListBoxItem
现在它选择了这个新项。我想禁用它。所以用户必须单击一个项目才能选择它。而不仅是拖过它。
我已经打开了单选模式。
欢迎提出任何想法 :)
这主要是为像我这样仍然需要了解的人提供帮助。
majocha提供的链接是答案,尽管在我看来它的实现方式并不是特别好,因为它在MouseUp
事件和其布尔标志周围有一个空洞。为什么要那样做,当你可以通过询问MouseEventArgs
来找出按钮是否被按下?也许WPF截至2010年还没有这种能力。
所以这是我的WPF 4代码。你只需要处理ListBox
上的MouseMove
,并说:
private void ListBox_MouseMove(object sender, MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
(sender as ListBox).ReleaseMouseCapture();
}
塔达!