由于不同面板中的元素重叠导致元素拖动中断

时间:2011-05-19 14:43:25

标签: silverlight

我有一个带有两个面板的“图表”(System.Windows.Controls.Panel)。一个面板是“RowsPresenter”并处理布局行,然后处理布置项目(每行多个项目)。

另一个面板是“LinesPresenter”并处理不同项之间的绘制线,这些线通常跨越多行。

这两个面板具有相同的尺寸和位置。

我可以在其包含的行中拖动项目。这是通过跟踪MouseDown,MouseUp,MouseMove等事件来处理的(在行上,而不是单个项目)。但是,当我拖动一个项目并且鼠标光标触摸其中一行时,MouseLeave事件将在该行上触发。此MouseLeave事件基本上停止了拖动操作。如果我没有附加此事件,那么其他使用场景就会中断。

有没有一种简单的方法可以解决这个问题而无需使用像CaptureMouse这样的东西重新设计整个拖动系统?

1 个答案:

答案 0 :(得分:1)

LinesPresenter IsHitTestVisible属性设置为false。那应该解决它。