Я хочу сделать пользовательский элемент управления, который показывает изображение, и может вызвать команду при нажатии. Позже я хочу привязать список этих элементов управления к списку продуктов.
Создание кликабельного изображения в WPF
Ответ 1
Попробуйте этот очень прямой подход
<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
}
Ответ 2
Хорошо, после немного более возили, простая кнопка выполняет эту работу. Вот он:
<Button Command="{Binding Path=DisplayProductCommand}" >
<Image Source="..\Images\my-beautiful-product.jpg"/>
</Button>
Ответ 3
Есть несколько способов сделать это, но одним простым решением было бы использовать кнопку (возможно, стиль от границы и фона) и использовать изображение в качестве содержимого кнопки.
Впоследствии вы можете использовать ListBox или подобное, и переопределить DataTemplate, чтобы использовать кнопку и изображение для каждого продукта.
Ответ 4
<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
}
Ответ 5
Я не знаю о вас, ребята, но PreviewMouseDown
и TouchUp
отлично справились с моей привязкой:
<Image x:Name="bla" Source="{Binding blabla}" ... TouchDown="bla_TouchDown" PreviewMouseDown="bla_PreviewMouseDown">
Я использую VS 2015