- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在我的 WPF 应用程序中实现拖放功能。我有一个列表框,我希望它能够从 Windows 资源管理器中拖放文件。然后将这些文件添加到列表框中。我曾经按照本教程进行过此工作:Drag and drop files to WPF application and asynchronously upload to ASP.NET Web API .减去上传到 web api 部分。我只想显示列表框中的文件。
问题是 DragOver 事件永远不会触发。我错过了什么?我早些时候已经开始工作了,但是一些小的调整把它搞砸了。
这是我的 XAML(简化了父元素):
<Window>
<Grid>
<TabControl>
<TabItem>
<Grid>
<GroupBox>
<ListBox Name="lstTarget" AllowDrop="True"
Drop="lstTarget_Drop"
DragOver="lstTarget_DragOver"
DragLeave="lstTarget_DragLeave"
BorderThickness="3"
BorderBrush="Red"
>
</ListBox>
下面是我的代码
private void lstTarget_Drop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (string filePath in files)
{
lstTarget.Items.Add(filePath);
}
}
var listbox = sender as ListBox;
listbox.Background = new SolidColorBrush(Color.FromRgb(226, 226, 226));
}
private void lstTarget_DragOver(object sender, DragEventArgs e)
{
lstTarget.BorderBrush = Brushes.Green;
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effects = DragDropEffects.Copy;
var listbox = sender as ListBox;
listbox.Background = new SolidColorBrush(Color.FromRgb(155, 155, 155)
}
else
{
e.Effects = DragDropEffects.None;
}
}
private void lstTarget_DragLeave(object sender, DragEventArgs e)
{
var listbox = sender as ListBox;
listbox.Background = new SolidColorBrush(Color.FromRgb(226, 226, 226));
}
最佳答案
好吧,我是个傻瓜。如果我以管理员身份运行我的应用程序,则无法从资源管理器中拖入项目。它们很可能在不同的安全上下文中运行。
我的代码没有任何问题。
关于c# - WPF - DragOver 事件没有在我的列表框上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32488786/
我有以下内容用于拖动: $(window).on('dragover', this.onDragOver); 是否存在拖出或类似的情况,我需要在用户移出窗口时触发一个事件。 最佳答案 听起来您正在寻找
尝试使用对象(文件)获取 mousePosition,该对象是从桌面拖动然后放到我的互联网浏览器上的,但是我得到的两个值都是“未定义” 小 html Drag something on body(i
从 dragover 触发的事件(使用 jQuery),如何找到源节点(被拖动的元素)? 根据 http://www.w3.org/TR/2008/WD-html5-20080610/editing.
我的 JavaScript 文件是 here 。基本上我的网站是一个命令提示符风格的网站,我在其中输入命令来执行某些功能,例如文件上传。我还有一个“拖放”上传功能,如下所示: $(document).
我创建了一个全局 dragover 事件监听器,这样当它在页面上拖动某些东西时,它会在页面上显示一个 dragover 区域,并在您将光标移出页面时隐藏它: document.addEventLis
我有一个问题:如果我限制拖拽功能,为什么除了限制超时之外一直有闪烁的停止信号? 限制拖拽的正确方法是什么?我做了一个简单的演示(chrome 68.0.3440.106) http://jsfiddl
我正在尝试在我的 WPF 应用程序中实现拖放功能。我有一个列表框,我希望它能够从 Windows 资源管理器中拖放文件。然后将这些文件添加到列表框中。我曾经按照本教程进行过此工作:Drag and d
我尝试在虚拟对象上使用 dataTransfer 对象来尽可能地伪造事件。 el.triggerEventHandler('dragover', { dataTransfer: {} }); 感觉不对
这个问题在这里已经有了答案: Can I choose a custom image for C# Windows Application Drag Drop functions? (2 个答案)
我正在使用 html5 拖放。 当我从任何给定网页拖动图像或链接时,浏览器窗口会识别 dragover 事件。 例如将图像拖到浏览器选项卡上,使浏览器切换窗口。例如,将链接拖到书签时同样有效。 现在,
我正在尝试创建一个元素,用户可以在拖动元素时将鼠标悬停在其上以缓慢向下滚动页面。这是支持我的拖放编辑器所必需的。 我正在检测用户是否将鼠标悬停在 anchor 上并进行拖动,如果是,我会启动一个 $i
我们收到客户请求支持以下场景: 在页面上我们有一个容器:div 元素,它同时是 dojo.dnd.Source。 在容器内,我们有 9 个具有相似内容的 div 元素:2 个按钮和 2 个组合框 用户
我想更改元素被拖动到的 div 的背景。 我还设置了一个计数器,当有东西被拖过它时它会更新(在我的例子中它是我桌面上的一个文件)。柜台部分工作正常,但背景颜色没有改变。我做错了什么? var drop
我希望能够验证用户是否希望进行有效的拖放,并通过 objective-c ompartmentShape 的颜色来指示这一点,我已经完成了以下操作,这使我能够正确验证,我只需要更新用户界面 p
我目前正在编写上传脚本,当然它具有拖放功能。 但是 当我将一个文件拖到我的元素上时,我试图让它工作,它添加了 drag-over 类,但是因为我的元素有子元素,它不断触发,因为它进入和离开元素。 我想
我正在尝试使用 HTML5 可拖动 API(虽然我知道它 has its problems )。到目前为止,我遇到的唯一问题是我想不出一种方法来确定在 dragover 或 dragenter 事件触
我正在使用 JavaScript 编写 XUL 应用程序进行编码。我希望能够将文件拖到此应用程序中的控件上,并在拖放时显示它们。 这看起来几乎与教程 here 完全相同。 ,但是当我在调试器中中断拖放
我正在玩完整形式的拖放(所以没有即时上传)。我虽然有一小部分会在将鼠标悬停在文件上时突出显示某个字段集。输入 dragover 和 dragenter 事件(和 dragleave 等)。 事实证明它
我有一个 JavaScript 函数和一个用于 `dragover 的 eventListener。 看起来像这样: document.getElementById("someID").add
我的页面基本上有两个部分:左栏和右栏(更大的区域)。右列包含大约 1500 行(组件),每行包含 5 个 div 作为单元格。我曾经将dragover事件绑定(bind)在这两列的父元素上。每次触发
我是一名优秀的程序员,十分优秀!