WPF Rectangle シェイプにはClickイベントが定義されていないようです。代わりに何を使うべきですか?
MouseUpはありますが、まったく同じ動作ではありません。
MouseDown
とMouseUp
に満足できない場合は、Rectangle
をButton
に入れて、Button
を処理することができます。 Click
イベント?
<Button>
<Button.Template>
<ControlTemplate>
<Rectangle .../>
</ControlTemplate>
</Button.Template>
</Button>
それは本当にあなたが求めている行動に依存します。必要に応じて詳しく説明してください。
長方形自体にクリックハンドリングを追加するには、 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>