我有一个带有两个面板的“图表”(System.Windows.Controls.Panel)。一个面板是“RowsPresenter”并处理布局行,然后处理布置项目(每行多个项目)。
另一个面板是“LinesPresenter”并处理不同项之间的绘制线,这些线通常跨越多行。
这两个面板具有相同的尺寸和位置。
我可以在其包含的行中拖动项目。这是通过跟踪MouseDown,MouseUp,MouseMove等事件来处理的(在行上,而不是单个项目)。但是,当我拖动一个项目并且鼠标光标触摸其中一行时,MouseLeave事件将在该行上触发。此MouseLeave事件基本上停止了拖动操作。如果我没有附加此事件,那么其他使用场景就会中断。
有没有一种简单的方法可以解决这个问题而无需使用像CaptureMouse这样的东西重新设计整个拖动系统?
答案 0 :(得分:1)
将LinesPresenter
IsHitTestVisible
属性设置为false。那应该解决它。