我想要创建一个用户控件,用来显示图片并在被点击时触发一个命令。 随后,我希望将一组这样的控件绑定到一组产品。
我想要创建一个用户控件,用来显示图片并在被点击时触发一个命令。 随后,我希望将一组这样的控件绑定到一组产品。
尝试这个非常直接的方法
<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>
有几种方法可以做到这一点,但一个简单的解决方案是使用按钮(也许将边框和背景样式去掉),并将图像作为按钮的内容。
您可以稍后使用ListBox或类似控件,并覆盖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
}
我不知道你们怎么想,但是PreviewMouseDown
和TouchUp
与我的绑定完全正常:
<Image x:Name="bla" Source="{Binding blabla}" ... TouchDown="bla_TouchDown" PreviewMouseDown="bla_PreviewMouseDown">
我正在使用VS 2015