0

Canvas外部フレームワークからXAML要素を含むを取得したので、これCanvasは私にとってブラックボックスのようなものです。コントロールを押すと、イベントが発生します...クリックした位置にコントロールEventHandler(object sender, EventArgs e)を表示する必要があります...Popup

今、私は自分がタップした位置をどこから得ることができるのか疑問に思っていますか?!?? 位置を取得する簡単な方法はありますか?

4

1 に答える 1

3

あなたの質問には多くの不明な点があるようです-たとえば、どのイベントが発生したかについては言及していませんが、イベントの送信者を取得して、それを aUIElementまたは他の予想されるタイプにキャストすると、何かを呼び出すことができますこのように要素の位置を抽出します。

var position = element
    .TransformToVisual(Window.Current.Content)
    .TransformPoint(new Point());

タッチまたはマウス キーを押した実際の位置を取得するにはPointerPressed、ベース キャンバスでイベントをサブスクライブしてから、new Point()上記のコードを取得した位置に置き換えるか、イベントがバブルアップしない場合 (ハンドラーが呼び出されません) - ビジュアル ツリーを ( を使用してVisualTreeHelper) ナビゲートし、その子要素でそのイベントをサブスクライブしようとすることができますCanvas

于 2013-02-19T21:48:10.497 に答える