我正在使用 WPF。我的可视化树层次结构如下: RadDiagram > RadDiagramShape > MyControl RadDiagramShape 的内容是 mycontrol。
在 myControl 类中,我处理了 (MouseLeftButtonDown) 事件,我在其中放入了拖放代码(我在另一个地方需要它)。所以,这是直接事件而不是隧道或冒泡!
当我移动作为 RadDiagramShape 内容的自定义控件时,在 RadDiagram 中,它不会移动(它试图被拖动),因为 MouseLeftButtonDown 已在 MyControl 中处理。 它防止事件在可视树中冒泡,防止任何父处理程序收到事件通知。
我尝试为 RadDiagramShape 和 RadDiagram 处理事件,e.Handled = true;
但它什么也没做,因为它是 MouseLeftButtonDown 并且它在根元素内部处理,所以它不会冒泡或隧道,我没有覆盖移动代码,我没有不想覆盖它。因为我之前尝试过它,但它并没有给我与 WPF 中内置的相同的轻微移动。
如何在根元素中阻止 MouseLeftButtonDown 事件并让事件在容器(父)级别触发?