Создание кликабельного изображения в WPF - PullRequest
18 голосов
/ 27 апреля 2010

Я хочу создать пользовательский элемент управления, который показывает изображение и может вызывать команду при нажатии. Позже я хочу связать список этих элементов управления со списком продуктов.

Ответы [ 5 ]

49 голосов
/ 06 февраля 2014

Попробуйте этот очень прямой подход

<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
        }
9 голосов
/ 27 апреля 2010

Ну, после еще немного возни, простая кнопка делает свою работу. Вот оно:

<Button Command="{Binding Path=DisplayProductCommand}" >
   <Image Source="..\Images\my-beautiful-product.jpg"/>
</Button>
4 голосов
/ 27 апреля 2010

Есть несколько способов сделать это, но одним простым решением было бы использовать кнопку (возможно, убрать границы и фон) и использовать изображение в качестве содержимого кнопки.позже используйте ListBox или аналогичный, и переопределите шаблон данных, чтобы использовать кнопку и изображение для каждого продукта.

3 голосов
/ 28 ноября 2010
   <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
    }
1 голос
/ 06 июля 2016

Я не знаю, как вы, ребята, но PreviewMouseDown и TouchUp отлично работали вместе с моим переплетом:

<Image x:Name="bla" Source="{Binding blabla}" ... TouchDown="bla_TouchDown" PreviewMouseDown="bla_PreviewMouseDown">

Я использую VS 2015

...