3

我有一个 6x8 的System.Windows.Controls.Canvas对象网格。左上角的画布不接收鼠标事件,而所有其他画布都接收。我试过OnMouseMoveOnMouseClick事件。

子对象没有处理事件,因为System.Windows.Media.VisualTreeHelper#GetChildrenCount()没有显示任何子对象。我也抓不住PreviewOnMouseMove。我的画布前面是否有一些(可能是透明的)控件优先?

4

2 回答 2

1

终于找到了解决办法。每个Canvases 都有Adorners。根据这篇 MSDN 文章,装饰器在底层 UI 元素之前接收鼠标事件。我将IsHitTestVisible所有装饰者的属性设置为false.

于 2010-10-20T10:28:29.467 回答
0

我希望这对您有所帮助,只需为以下属性设置Transparent值:BackgroundCanvas

Background="Transparent"

祝你好运!

于 2010-10-18T19:04:07.460 回答