gpt4 book ai didi

c# - 基础功液 sample 不掉落

转载 作者:太空宇宙 更新时间:2023-11-03 10:32:00 25 4
gpt4 key购买 nike

我正在尝试在一个简单的 WPF MVVM Light 示例中从 gongsolutions 实现拖放功能,但我无法让它工作。我可以拖动项目(它进入事件)但不能放下它们。我得到了不可用的鼠标图标,而不是能够放下它。

这是 xaml:

    xmlns:dd="clr-namespace:GongSolutions.Wpf.DragDrop;assembly=GongSolutions.Wpf.DragDrop" 

<StackPanel Orientation = "Horizontal" >

<ListView Width="200" DisplayMemberPath="Name" ItemsSource="{Binding Customers}"
dd:DragDrop.IsDragSource="True" AllowDrop="True" dd:DragDrop.IsDropTarget="True" dd:DragDrop.DropHandler="{Binding}" />

<ListView Width="200" DisplayMemberPath="EmployeeName" ItemsSource="{Binding Employees}"
dd:DragDrop.IsDragSource="True" AllowDrop="True" dd:DragDrop.IsDropTarget="True" dd:DragDrop.DropHandler="{Binding}"/>

</StackPanel>

这是我的 View 模型:

 public class MainViewModel : ViewModelBase, IDropTarget
{

private ObservableCollection<Model.Customer> _Customers;
public ObservableCollection<Model.Customer> Customers
{
get
{
return _Customers;
}
set
{
_Customers = value;
RaisePropertyChanged("Customers");
}
}

private ObservableCollection<Model.Employee> _Employees;
public ObservableCollection<Model.Employee> Employees
{
get
{
return _Employees;
}
set
{
_Employees = value;
RaisePropertyChanged("Employees");
}
}
public MainViewModel()
{

Customers = new ObservableCollection<Customer>();
Employees = new ObservableCollection<Employee>();

Customers.Add(new Model.Customer { Name = "Company A" });
Customers.Add(new Model.Customer { Name = "Company B" });
Employees.Add(new Model.Employee { EmployeeName = "Tom" });
Employees.Add(new Model.Employee { EmployeeName = "Jos" });
}

////public override void Cleanup()
////{
//// // Clean up if needed

//// base.Cleanup();
////}

public void DragOver(DropInfo dropInfo)
{
System.Diagnostics.Debug.WriteLine(dropInfo.Data.ToString());
}

public void Drop(DropInfo dropInfo)
{

}
}

示例项目:https://onedrive.live.com/?cid=A8B989CA62E8B39C&id=A8B989CA62E8B39C%21103

最佳答案

您的目标必须在 DragOver 处理程序中设置 DragDropEffect 以允许放置:

public void DragOver(DropInfo dropInfo)
{
dropInfo.Effects = System.Windows.DragDropEffects.Move;
}

关于c# - 基础功液 sample 不掉落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29744251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com