Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Silverlight:确定哪个控件启动了拖动&x27;n';滴_C#_Silverlight_Drag And Drop_Silverlight Toolkit_Sender - Fatal编程技术网

C# Silverlight:确定哪个控件启动了拖动&x27;n';滴

C# Silverlight:确定哪个控件启动了拖动&x27;n';滴,c#,silverlight,drag-and-drop,silverlight-toolkit,sender,C#,Silverlight,Drag And Drop,Silverlight Toolkit,Sender,使用Silverlight 4工具包的拖放功能,我有一个支持拖放的列表框,其中每个ListboxItem都可以上下拖动/重新排序 每个ListboxItem都包含几个控件(文本块、文本框和按钮),我的问题是,当我单击ListboxItem中的按钮时,偶尔会在该控件上启动一个拖动事件,而不仅仅是单击事件 一种解决方案是处理ItemDragStarting事件并确定单击什么来启动事件,如果通过按钮调用,则取消事件 然而,我不知道如何确定我点击了什么。事件和e.DragSource的发送方是ListB

使用Silverlight 4工具包的拖放功能,我有一个支持拖放的列表框,其中每个ListboxItem都可以上下拖动/重新排序

每个ListboxItem都包含几个控件(文本块、文本框和按钮),我的问题是,当我单击ListboxItem中的按钮时,偶尔会在该控件上启动一个拖动事件,而不仅仅是单击事件

一种解决方案是处理ItemDragStarting事件并确定单击什么来启动事件,如果通过按钮调用,则取消事件

然而,我不知道如何确定我点击了什么。事件和e.DragSource的发送方是ListBoxDragDropTarget类型,无论我是从按钮还是ListboxItem本身启动拖动


任何帮助都将不胜感激-解决我的问题或做我需要的事情的替代方法

可以使用以下方法深入到对象类型:

private void OldFaithful_ItemDragStarting(object sender, ItemDragEventArgs e)
        {
            SelectionCollection selections = e.Data as SelectionCollection;

            if (selections != null)
            {
                IEnumerable<CXSectionControl> draggedItems = selections.Select(s => s.Item as YOUREXCPECTEDOBJECTTYPE);
                foreach (YOUREXCPECTEDOBJECTTYPE x in draggedItems)
                {
                    MessageBox.Show(x.GetType().ToString());
                }

            }
        }
private void\u ItemDragStarting(对象发送方,ItemDragEventArgs e)
{
SelectionCollection selections=e.数据作为SelectionCollection;
如果(选择!=null)
{
IEnumerable draggedItems=选择项。选择(s=>s.项作为ExcpectedObject类型);
foreach(draggedItems中的ExcpectedObjectType x)
{
Show(x.GetType().ToString());
}
}
}

非常感谢您的回答:)我发现我的大多数问题都与使用虚拟机进行开发有关,这导致我的鼠标做了一些奇怪的事情。将保留您的代码片段供以后使用!