WPF Rectangle ne dispose pas d'un événement Click
Question
Il semble que le WPF rectangle forme n'a pas l'événement Click défini. Que dois-je utiliser à la place?
Il ne MouseUp, mais il est pas tout à fait le même comportement.
La solution
Si vous n'êtes pas satisfait et MouseDown
MouseUp
, vous pourriez peut-être tout simplement mettre le dans un Rectangle
et gérer l'événement Button
Click
du <=>?
<Button>
<Button.Template>
<ControlTemplate>
<Rectangle .../>
</ControlTemplate>
</Button.Template>
</Button>
Cela dépend vraiment du comportement que vous êtes après. S'il vous plaît préciser si besoin est.
Autres conseils
Pour ajouter un clic remise à un rectangle lui-même, vous pouvez utiliser le propriété de InputBindings:
<Rectangle Fill="Blue" Stroke="Black">
<Rectangle.InputBindings>
<MouseBinding Gesture="LeftClick" Command="{Binding FooCommand}"/>
</Rectangle.InputBindings>
</Rectangle>
Cela entraînera le FooCommand à exécuter lorsque le rectangle est cliqué. Pratique si vous utilisez MVVM!
Je cherchais l'événement DoubleClick lié et est tombé sur cette suggestion nofollow" simplement intégrer l'objet d'intérêt dans un ContentControl.
Voici leur exemple (avec une frontière, qui a également ne prennent pas en charge cliquez / double-clic).
<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 a événement taraudés , qui fonctionne très bien. Dans la conception des applications universelles pour Windows 8.1, il y a de nouveaux événements. Taraudés, DoubleTaped, RightTapped et Holding.