wpf - 为什么拖放功能不拖动而是复制对象到目标项控件
问题描述
我想在我的应用程序中使用拖放功能,我需要将项目从一个列表框拖到另一个列表框。
我正在使用 GongSolution.WPF.DragDrop.dll;汇编版本 2.1.0
来自 [在此处输入链接描述][1] 。
为了检查是否使用该库,我添加了两个带有 LT1、LT2 的列表框。
<ListBox Name="LT1"
ItemTemplate="{StaticResource itemlisttemplate}"
Grid.Column="0"
dd:DragDrop.IsDragSource="True"
dd:DragDrop.IsDropTarget="True"
SelectionMode="Single"
ScrollViewer.HorizontalScrollBarVisibility="Auto">
<ListBox Name="LT2"
ItemTemplate="{StaticResource itemlisttemplate}"
Grid.Column="1"
dd:DragDrop.IsDragSource="True"
dd:DragDrop.IsDropTarget="True"
SelectionMode="Single"
ScrollViewer.HorizontalScrollBarVisibility="Auto">
还有一个示例代码将一些项目添加到 Listbox1 (LT1) 中,因此我可以尝试将其拖放到 Listbox2 (LT2)
System.Object[] ItemObject = new System.Object[10];
for (int i = 0; i <= 3; i++)
{
ItemObject[i] = "Item" + i;
}
LT1.Items.AddRange(ItemObject);
在应用程序启动时,我可以看到两个项目被添加到 listbox1 中。但是当我试图将项目从 listbox1 复制到 listbox2 时,而不是拖动,它被复制并移动到 listbox2。
请求某人指导/建议这里可能出现的问题。
或者建议我在任何库中使用拖放功能。
非常感谢。
解决方案
//when you try to drag the element make sure,
void .....DragEvent1(......)
{
if (listBox1.SelectedItems.Count > 0)
{
//in case unknown error
try
{
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
推荐阅读
- reactjs - ReactJS axios POST 调用 PHP - 请求中止错误
- transactions - Quarkus 事务如何与反应式 sql 客户端一起工作
- swagger - 我需要在 springdoc-openapi 中为 @Parameter 添加多个示例,但这不会生成给定的示例
- python - 枚举从列表返回多个索引作为整数
- node.js - How to create an endpoint in Sequelize.js that receives any random JSON in the model?
- aws-lambda - Lambda 在 3 秒后超时
- r-markdown - 如何使用 Rmarkdown 解释 yaml 错误消息?
- selenium-chromedriver - 查找使用的 Chrome 驱动程序版本
- ngrx - 测试 ngrx 商店:MockStore 没有提供者
- time-complexity - 由递归 T(n) = 2T(n-1) + 1 给出的递归算法的时间复杂度是多少