La creación de una imagen puede hacer clic en WPF
-
01-10-2019 - |
Pregunta
Quiero hacer un control de usuario que muestra una imagen y puede invocar un comando cuando se hace clic. Más tarde quiero enlazar una lista de estos controles para una lista de productos.
Solución
Prueba este enfoque muy sencillo
<Grid>
<Button Height="50" Width="50">
<Button.Template>
<ControlTemplate>
<Image Source="yourimage.png"/>
</ControlTemplate>
</Button.Template>
</Button>
</Grid>
private void Button_Click(object sender, RoutedEventArgs e)
{
// do smt
}
Otros consejos
Bueno, después de un poco más tocar el violín, un simple botón hace el trabajo. Aquí está:
<Button Command="{Binding Path=DisplayProductCommand}" >
<Image Source="..\Images\my-beautiful-product.jpg"/>
</Button>
Hay varias maneras de hacer esto, pero una solución sencilla sería utilizar un botón (tal vez el estilo de distancia del borde y el fondo), y el uso de la imagen como el contenido del botón.
Se puede utilizar después un ListBox o similares, y anular el DataTemplate utilizar el botón y una imagen para cada producto.
<Image Name="imageFoo" Source="/AppFoo;component/Foo.png" Width="32" Cursor="Hand" MouseUp="imageFoo_MouseUp"/>
private void imageFoo_MouseUp(object sender, MouseButtonEventArgs e)
{
//Do something
}
Yo no sé ustedes, pero PreviewMouseDown
y TouchUp
trabajaron completamente bien junto con mi unión:
<Image x:Name="bla" Source="{Binding blabla}" ... TouchDown="bla_TouchDown" PreviewMouseDown="bla_PreviewMouseDown">
Estoy utilizando VS 2015