【问题标题】:Using D&D issue when click on item单击项目时使用 D&D 问题
【发布时间】:2014-01-26 19:36:21
【问题描述】:

我正在使用从列表框到文本框的 D&D,问题是您只需单击项目(标有蓝色的项目) 假设列表中的第一个项目,然后您可以转到列表并用鼠标拖动不同的项目,假设列表中的最后一个项目,但实际拖动的项目是您通过单击选择的项目,即第一个物品。 在调试中,您可以看到您在以下代码中获得的项目是第一项 您单击并标记为蓝色,而不是您实际拖动的项目,知道如何解决吗?

您可以单击并标记列表框上的任何项目,但拖动不同的项目,而前一个项目用蓝色标记...

var listBox = sender as ListBox;

if (listBox.SelectedItem != null)
{
    var mySelectedItem = listBox.SelectedItem as User;
    ...

【问题讨论】:

  • 您能粘贴一些代码吗?您是如何启动拖放操作的?
  • 您甚至懒得输入拖放?真的吗?似乎人们也懒得回答你的问题。也许如果你打扰ask a good question,那么你现在应该有答案了?

标签: c# wpf xaml listbox


【解决方案1】:

在拖放操作中,选择要使用的数据:

DragDrop.DoDragDrop(dragSource, data, DragDropEffects);

您使用什么数据完全取决于。因此,如果您发现您在 data 字段中设置了错误的值,那就是您必须解决的问题。

还有其他方法可以检测点击了哪个控件...试试这样的方法:

HitTestResult hitTestResult = VisualTreeHelper.HitTest(containingUIElement, 
    e.GetPosition(containingUIElement));
Control controlUnderMouse = hitTestResult.VisualHit.GetParentOfType<Control>();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 2020-12-16
    • 2011-04-23
    • 1970-01-01
    相关资源
    最近更新 更多