我想制作一个显示图像的用户控件,并在单击时可以调用命令。稍后,我想将这些控件的列表绑定到产品列表中。

有帮助吗?

解决方案

尝试这种非常直接的方法

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

其他提示

好吧,经过更多的摆弄后,一个简单的按钮可以完成工作。这里是:

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

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

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

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

我不知道你们,但是 PreviewMouseDownTouchUp 我的约束力完全很好地工作:

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

我正在使用vs 2015

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top