3

キャンバスの上に楕円を描画し、キャンバスに MouseLeftButtonUp を登録しました。どの楕円をクリックしたかを次のように取得したいと考えています。

(Ellipse)e.Source

しかし、e.Source は常にキャンバスです。私も e.OriginalSource を試し、PreviewMouseLeftButtonUp でも同じことをしましたが、結果は同じでした。イベント引数は MouseButtonEventArgs です。私は何を間違っていますか?特定のポイントにキャンバスの子要素があるかどうかを確認する方法もあります。

4

2 に答える 2

2

e.OriginalSource代わりに使用してください。

于 2011-08-30T00:35:01.903 に答える
0

おそらく、MouseLeftButtonUp ではなく、PreviewMouseLeftButtonUp が必要です。また、Canvas の MouseUp イベントではなく、Ellipse.PreviewMouseLeftButtonUp を使用してイベントを登録する必要がある場合があります。このようなもの:

<Canvas ... Ellipse.PreviewMouseLeftButtonUp="MyHandler" />

HB が述べたように、e.Source ではなく、e.OriginalSource を使用する必要があります。

編集: 質問を読み違え、編集して PreviewMouse*LeftButton*Up に変更

于 2011-08-30T00:38:11.040 に答える