WPFRectangleシェイプにはClickイベントが定義されていないようです。代わりに何を使うべきですか?
MouseUpはありますが、まったく同じ動作ではありません。
MouseDown
とに満足できない場合はMouseUp
、を入れてRectangle
のイベントButton
を処理することができButton
ますか?Click
<Button>
<Button.Template>
<ControlTemplate>
<Rectangle .../>
</ControlTemplate>
</Button.Template>
</Button>
それは本当にあなたが求めている行動に依存します。必要に応じて詳しく説明してください。
Rectangle 自体にクリック処理を追加するには、InputBindingsプロパティを使用できます。
<Rectangle Fill="Blue" Stroke="Black">
<Rectangle.InputBindings>
<MouseBinding Gesture="LeftClick" Command="{Binding FooCommand}"/>
</Rectangle.InputBindings>
</Rectangle>
これにより、長方形がクリックされたときに FooCommand が実行されます。MVVM を使用している場合に便利です。
関連する 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>
Rectangle にはイベントTappedがあり、正常に動作します。Windows 8.1 用のユニバーサル アプリの設計では、新しいイベントがあります。Tapped、DoubleTaped、RightTapped、Holding。