data - WPF Rectangle no tiene un evento Click
path en wpf (4)
El rectángulo tiene un evento Tapped , que funciona bien. En el diseño de aplicaciones universales para Windows 8.1, hay nuevos eventos. Tapping, DoubleTaped, RightTapped y Holding.
Parece que la forma del Rectangle WPF no tiene el evento Click definido. ¿Qué se supone que debo usar en su lugar?
Tiene MouseUp, pero no es exactamente el mismo comportamiento.
Estaba buscando el evento relacionado con DoubleClick y encontré esta sugerencia para simplemente incrustar el objeto de interés en un ContentControl.
Aquí está su ejemplo (con un borde, que tampoco es compatible con hacer clic / doble 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>
Para agregar la InputBindings clics a un Rectángulo, puede usar la propiedad InputBindings :
<Rectangle Fill="Blue" Stroke="Black">
<Rectangle.InputBindings>
<MouseBinding Gesture="LeftClick" Command="{Binding FooCommand}"/>
</Rectangle.InputBindings>
</Rectangle>
Esto hará que se ejecute FooCommand cuando se haga clic en el rectángulo. ¡Práctico si estás usando MVVM!
Si no está satisfecho con MouseDown
y MouseUp
, ¿quizás podría simplemente poner el Rectangle
en un Button
y manejar el evento Click
del Button
?
<Button>
<Button.Template>
<ControlTemplate>
<Rectangle .../>
</ControlTemplate>
</Button.Template>
</Button>
Realmente depende del comportamiento que buscas. Por favor elabore si es necesario.