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

标签 wpf xaml listbox

简单的问题:

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

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

我打开了单选。

任何想法都非常感谢:)

最佳答案

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

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

所以这是我的 WPF 4 代码。你只需要处理 MouseMove 上的 ListBox 并说这个:

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

多田!

关于WPF:列表框单击并拖动选择其他项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2645265/

相关文章:

c# - 有没有办法刷新 WPF 中的所有绑定(bind)?

c# - 让 WinForms 使用 DPI 正确缩放的问题

wpf - 为什么 XAML 中 TimeSpan 上的字符串格式不同?

c# - WP8 LongListMultiSelector 绑定(bind) SelectedItems

c# - 将列表框中的单个值存储为变量

c# - Windows 8.1 中 Pivot Control 的替代方案是什么?

c# - 如何避免在 WPF 中递归触发事件?

c# - 依赖属性不获取或设置值

c# - 更改默认的工具栏按钮悬停模板

php - 无法从列表框中读取 POST 数据