WPF: ListBox 点击并拖动会选择其他项

4

简单问题:

1) 我在一个ListBox中点击并长按鼠标一个ListBoxItem。
2) 现在我将鼠标光标向下拖动到列表中的下一个ListBoxItem

现在它选择了这个新项。我想禁用它。所以用户必须单击一个项目才能选择它。而不仅是拖过它。

我已经打开了单选模式。

欢迎提出任何想法 :)

2个回答

3

这主要是为像我这样仍然需要了解的人提供帮助。

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();
}

塔达!


0
我猜重写 OnPreviewMouseMove 方法会起作用。 阅读 this 以获取类似问题的解决方案。

谢谢。我会尝试一下。 您提供的链接无效。您有直接链接吗? - Bodekaer
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/0ed8731a-f7b1-4499-9ef9-fc5544fa7007 - majocha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接