0

私はこれで少し立ち往生しています。

私のアプリの UI には、背後にある UI のさまざまな部分を表示するように変更する四角形と不透明マスクがあります。私がやりたいことは、透明な領域内で発生するタッチ イベントをすべて通過させ、外側のタッチ イベントを停止することです。

ただし、四角形にイベントを通過させる唯一の方法は、IsHitTestVisible を False に設定することです[Preview]TouchUp/Move/Down をキャプチャして、handled を False に設定しようとしましたが、違いはありません。

足りないものはありますか??

乾杯

更新: 明確でない場合は申し訳ありませんが、タッチ イベントが自然に失敗するとは思いません。それらがマスク内に収まるかどうかを確認してから、Handled を True に設定します。しかし、Handled を False に設定しても、イベントはまだ通過しないようです。IsHitTestVisible=False 以外に、イベントが失敗することを許可しているようには見えません

4

1 に答える 1

0

不透明度は...不透明度で機能するため、これは通常の動作だと思いますが、それでも長方形は他のコントロールの上にあります。不透明度の代わりにクリップを使用できます (ただし、不透明度は yes/no のみで、陰影はありません)。または、不透明度マスクによって表示または非表示になっていることを示すすべてのコントロールの辞書を (たとえば) 持つことができます。次に、四角形 IsHitTestVisible を false に設定し、Preview(TouchUp/Move/Down) イベント ハンドラーで、コントロールが表示されているかどうかに応じて、イベントをキャンセルするかどうかを決定します。

于 2012-05-01T09:48:20.023 に答える