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 に答える