在WPF中创建可单击的图像

时间:2010-04-27 10:43:43

标签: wpf mvvm mvvm-foundation clickable-image

我想创建一个显示图像的用户控件,并在单击时调用命令。 后来我想将这些控件的列表绑定到产品列表。

5 个答案:

答案 0 :(得分:49)

尝试这种非常直接的方法

<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
        }

答案 1 :(得分:9)

好吧,经过一点点摆弄,一个简单的按钮完成了这项工作。这是:

<Button Command="{Binding Path=DisplayProductCommand}" >
   <Image Source="..\Images\my-beautiful-product.jpg"/>
</Button>

答案 2 :(得分:4)

有几种方法可以做到这一点,但一个简单的解决方案是使用按钮(可能是边框和背景的样式),并使用图像作为按钮的内容。

您稍后可以使用ListBox或类似工具,并覆盖DataTemplate以使用按钮和每个产品的图像。

答案 3 :(得分:3)

   <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
    }

答案 4 :(得分:1)

我不知道你们这些人,但是PreviewMouseDownTouchUp与我的约束完全一致:

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

我正在使用VS 2015