gpt4 book ai didi

c# - 拖放时如何删除虚线矩形

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

我正在关注 Bea Stollnitz 的 blog post关于在数据绑定(bind)的 ItemsControl 上实现拖放。它工作得很好,但我有一个问题想问任何经历过类似事情的人......

当我开始拖动项目时,鼠标底部会出现一个小的虚线矩形。我根本不知道如何隐藏那个矩形。有谁知道如何摆脱这个?我会添加屏幕截图,但是当我执行打印屏幕时,矩形不会出现。

我认为这与添加“DraggedAdorner”的 AdornerLayer 上的焦点设置有关。

谢谢!

最佳答案

在被矩形包围的 VisualStyle 中试试这个:

<Setter Property="FocusVisualStyle" Value="{x:Null}"/>

编辑:您看到的效果是 DragDropEffects.Move 赋值的结果。您可以通过简单地更改以下行(示例中的第 168 行)来减轻这种视觉效果:

DragDropEffects effects = DragDrop.DoDragDrop((DependencyObject)sender, data, DragDropEffects.Move);

对此:

DragDropEffects effects = DragDrop.DoDragDrop((DependencyObject)sender, data, DragDropEffects.None);

因此将 DragDropEffect 设置为 DragDropEffects.None

注意:在示例中,它在执行拖放过程中评估 DragDropEffects 值,因此您需要解决这个问题(可能是一个简单的 AttachedProperty,甚至将 Sender 转换为 FrameworkElement 并使用 Tag 属性),但这应该解决 视觉 问题。

希望这对您有所帮助,如果我能进一步帮助您,请随时告诉我。祝你好运!

关于c# - 拖放时如何删除虚线矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13587661/

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