在WPF设置e.DragOver中的效果没有';不起作用——为什么
本文关键字:不起作用 为什么 设置 WPF DragOver | 更新日期: 2023-09-27 17:59:48
我是WPF的新手。我正在实施Drag&放入TreeView,我的DragOver事件处理程序不起作用。
<Style TargetType="TreeViewItem">
<!-- ... -->
<EventSetter Event="DragOver" Handler="item_DragOver" />
</Style>
void item_DragOver(object sender, DragEventArgs e)
{
if (!e.Data.GetDataPresent("someFormat") || e.Source == sender)
e.Effects = DragDropEffects.None;
else if (e.KeyStates == DragDropKeyStates.ControlKey)
e.Effects = DragDropEffects.Copy;
else
e.Effects = DragDropEffects.Move;
e.Handled = true;
}
当程序在某些树项目上拖动时运行,它总是显示一个"移动"拖动图标,即使我按Ctrl键也是如此。我想一些默认的事件处理程序会覆盖我的e.Effects,但我不知道在哪里可以搜索它
有什么想法吗?
我找到了它,检查ctrl键是否按下正确的方式是:
if ((e.KeyStates & DragDropKeyStates.ControlKey) == DragDropKeyStates.ControlKey)