如何将所有选定项目从列表视图拖动到另一个列表视图

时间:2016-01-11 10:57:07

标签: c# wpf

以下是我的代码,

id  category    Type    Parent
2   Laptops Sub 1
3   Mobile phones   Sub 1
5   Men Sub 4
6   Women   Sub 4

这适用于单个事件拖动,但是当我尝试拖动多个事件时,我选择的最后一个项目将被取消选择并移动其他项目。 对此有何解决方案?

此致 RV

1 个答案:

答案 0 :(得分:1)

问题在于,当您按下鼠标左键时,它会取消选择最后一个条目。

作为廉价的快速黑客,你可以这样做:

private List<object> _selItems = new List<object>();    
private void lbOne_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    startPoint = e.GetPosition(null);
    _selItems.Clear();
    _selItems.AddRange(((ListView)sender).SelectedItems.Cast<object>());
}

MouseMove

private void lbOne_MouseMove(object sender, MouseEventArgs e)
{
    /* ... */
    sourcelistview = (ListView)sender;

    foreach (object selItem in _selItems)
    {
        if (!sourcelistview.SelectedItems.Contains(selItem))
            sourcelistview.SelectedItems.Add(selItem);
    }
    /* ... */
}