1

XAML に単純な Rectangle があります

<Rectangle x:Name="rect" IsTapEnabled="True" Height="100" Width="100" Fill="#FF72BB5C" Stroke="#FFFB0000" Tapped="rect_Tapped"/>

うまく描画されますが、クリックしようとしても何も起こりません。

ストロークを大きくしてクリックしてみましたが、何もしませんでした。

Rectangle に関連する他の多くのイベントを試しましたが、何も発生しません。

タッチ スクリーンではなくマウスを使用している場合、Tapped イベントの呼び出しに問題はありますか?

4

2 に答える 2

0

同じ問題に直面しました。およびその上のすべてのビューのIsHitTestVisibleプロパティで解決されます。rectおよびその他の場合。デフォルトですが、省略可能です。RectangleTrueFalseTrue

于 2015-03-05T10:16:45.460 に答える
0

これに対する奇妙で面白い解決策を見つけました。

レイアウトが次のようになっている場合:

<Grid>
    <Canvas>
        <Rectangle x:Name="rect" IsTapEnabled="True" Canvas.Top="100" Canvas.Left="100" Height="100" Width="100" Fill="#FF72BB5C" Stroke="#FFFB0000" Tapped="rect_Tapped"/>
    </Canvas>
    <TextBlock Name="Test" Text="Hi" />
</Grid>

次に、これを次のように変更します。

<Grid>
    <Canvas>
        <Rectangle x:Name="rect" IsTapEnabled="True" Canvas.Top="100" Canvas.Left="100" Height="100" Width="100" Fill="#FF72BB5C" Stroke="#FFFB0000" Tapped="rect_Tapped"/>
    </Canvas>
    <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Name="Test" Text="Hi" />
</Grid>

に追加VerticalAlignment="Center" HorizontalAlignment="Center"したTextBlockところ、動作するようになりました。理由はわかりませんが、動作します。この問題をさらに掘り下げていきます。

于 2015-03-05T10:26:45.253 に答える