WPF:ListBox单击并拖动选择其他项目

时间:2010-04-15 12:43:09

标签: wpf xaml listbox

简单问题:

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

现在选择这个新项目。我想禁用它。因此用户必须单击某个项目才能将其选中。不只是拖过它。

我已启用单一选择。

非常感谢任何想法:)

2 个答案:

答案 0 :(得分:2)

这主要是为了像我这样仍然需要了解这一点的人的利益。

链接majocha提供了答案,尽管我没有以一种特别好的方式实现,因为它在MouseUp事件及其布尔标志周围有一个漏洞。当你可以询问MouseEventArgs以确定是否按下按钮时,为什么会这样做?也许截至2010年的WPF没有这种能力。

所以这是我的WPF 4代码。您只需处理MouseMove上的ListBox并说出来:

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

多田!

答案 1 :(得分:0)

我想重写OnPreviewMouseMove会做。 请阅读this以了解类似问题。