0

私はGrid4つの画像を保持するを持っています。画像自体は同じサイズになりますが、画像の視覚的な部分は異なる場合があります(したがって、画像の一部は透明になります)。

画像の透明な部分をグリッドの他のセルにオーバーフローさせたいです。

グリッドでのヒットテストもあります。1つはポインターホバー用で、もう1つは押されたものです。

これらの画像をグリッドで取得し、オーバーフローとヒットテストを維持するにはどうすればよいですか?

これまでのところ、私の解決策は9列のようなものを用意することです。

  • 最初の画像は列0から2を取ります。
  • 2番目の画像は2から4を取ります。
  • 3番目の画像4〜6
  • 4番目の画像は6〜8枚かかります。

このようにして、画像がオーバーフローします。ただし、問題は、後続の各画像が追加されると、共有列の上に表示されるため、マウスをホバーするとそれに合わせて表示されることです。

WPFでは、から派生しImageてオーバーライドできますHitTestCore。メトロではそれはできません。私の計画は、不透明なピクセルのみをテストすることでした。

ヒットテストを並べ替えることができれば、このメソッドを機能させることができます。別の/より良い解決策がある場合でも、私はすべての耳ですか?

4

2 に答える 2

0

メトロスタイルアプリのMicrosoftドキュメントによると:

ImageおよびMediaElementコントロールは、透明なコンテンツに関係なく、定義された長方形上でヒットテスト可能です。

ですから、このようにメトロで達成できるとは思いません。私の以前のコメント(Canvas)も(以下のリンクに関して)機能しないように見えることに注意してください。

于 2012-09-17T14:55:06.427 に答える
0

私が行った解決策は、すべての画像を含むグリッドを、希望するサイズの長方形を含む別のグリッドでオーバーレイすることでした。次に、下にある画像ではなく、長方形をヒットテストとして使用できます。

于 2012-10-08T19:45:47.643 に答える