2010-04-15 135 views
3

简单问题:WPF:列表框单击并拖动选择其他项目

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

现在它选择这个新项目。我想禁用这个。所以用户必须点击一个项目来选择它。不只是拖累它。

我打开了单个选项。

任何想法是极大的赞赏:)

回答

0

我猜覆盖OnPreviewMouseMove会做。 阅读this类似的问题。

+0

谢谢。我会试一试。 您提供的链接无效。你有直接的联系吗? – Bodekaer 2010-04-17 10:10:21

+0

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/0ed8731a-f7b1-4499-9ef9-fc5544fa7007 – majocha 2010-04-17 21:30:54

2

这主要是为了像我这样的人仍然需要知道这一点的好处。

提供的链接majocha是答案,尽管它不是一个特别好的方式实现的,据我所看到的,因为它周围的MouseUp事件和它的布尔标记一个洞。为什么当你可以询问MouseEventArgs来查明按钮是否被按下?也许WPF截至2010年没有这种能力。

因此,这里是我的WPF 4.代码你只需要处理的ListBoxMouseMove和这样说:

private void ListBox_MouseMove(object sender, MouseEventArgs e) 
{ 
    if (e.LeftButton == MouseButtonState.Pressed) 
     (sender as ListBox).ReleaseMouseCapture(); 
} 

田田!