25

WPFRectangleシェイプにはClickイベントが定義されていないようです。代わりに何を使うべきですか?

MouseUpはありますが、まったく同じ動作ではありません。

4

4 に答える 4

33

MouseDownとに満足できない場合はMouseUp、を入れてRectangleのイベントButtonを処理することができButtonますか?Click

<Button>
    <Button.Template>
        <ControlTemplate>
            <Rectangle .../>
        </ControlTemplate>
    </Button.Template>
</Button>

それは本当にあなたが求めている行動に依存します。必要に応じて詳しく説明してください。

于 2009-07-01T12:51:38.937 に答える
27

Rectangle 自体にクリック処理を追加するには、InputBindingsプロパティを使用できます。

<Rectangle Fill="Blue" Stroke="Black">
    <Rectangle.InputBindings>
        <MouseBinding Gesture="LeftClick" Command="{Binding FooCommand}"/>
    </Rectangle.InputBindings>
</Rectangle>

これにより、長方形がクリックされたときに FooCommand が実行されます。MVVM を使用している場合に便利です。

于 2011-09-08T21:51:47.753 に答える
5

関連する DoubleClick イベントを探していたところ、関心のあるオブジェクトを単に ContentControl に埋め込むというこの提案に出会いました。

これが彼らの例です(これもクリック/ダブルクリックをサポートしていませんでした)。

<ContentControl MouseDoubleClick="OnDoubleClick">
    <Border Margin="10" BorderBrush="Black" BorderThickness="2">
        <Grid Margin="4">
            <Rectangle Fill="Red" />
            <TextBlock Text="Hello" FontSize="15" />
        </Grid>
    </Border>
</ContentControl>
于 2012-07-23T17:12:44.443 に答える
-1

Rectangle にはイベントTappedがあり、正常に動作します。Windows 8.1 用のユニバーサル アプリの設計では、新しいイベントがあります。Tapped、DoubleTaped、RightTapped、Holding。

于 2014-07-24T18:41:07.450 に答える