WPF RectangleシェイプにはClickイベントが定義されていないようです。代わりに私は何を使うべきですか?WPF RectangleにClickイベントがありません
MouseUpはありますが、それと全く同じ動作ではありません。
WPF RectangleシェイプにはClickイベントが定義されていないようです。代わりに私は何を使うべきですか?WPF RectangleにClickイベントがありません
MouseUpはありますが、それと全く同じ動作ではありません。
あなたはMouseDown
とMouseUp
に満足していない場合は、おそらくあなただけButton
でRectangle
を入れて、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を使用している場合は便利です!
これは.NET 4ですか、それとも.NET 3.5でも動作しますか? –
.NET 3.5で利用可能です:http://msdn.microsoft.com/en-us/library/system.windows.uielement.inputbindings(v=VS.90).aspx – Grokys
この回答は.NET 3.5では機能しません.NET 4以降でのみ有効です。 .NET 3.5では、Commandプロパティは依存関係プロパティとして登録されていないため、バインディングに設定することはできません。私の質問はhttp://stackoverflow.com/questions/1427638/if-we-cant-bind-a-mousebindings-command-what-are-we-supposed-to-do –
関連するDoubleClickイベントを探していて、this suggestionを見つけて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>
これはチャンピオンのように働いた。シンプルでポイントまで。 +1 –
長方形にはイベントTappedがあり、正常に動作します。 Windows 8.1用のユニバーサルアプリケーションの設計には、新しいイベントがあります。タップ、ダブルタップ、右タップ、ホールディング
これはおそらく私が望むものです。 –