在WPF中创建可点击的图像
-
01-10-2019 - |
题
我想制作一个显示图像的用户控件,并在单击时可以调用命令。稍后,我想将这些控件的列表绑定到产品列表中。
解决方案
尝试这种非常直接的方法
<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
}
我不知道你们,但是 PreviewMouseDown
和 TouchUp
我的约束力完全很好地工作:
<Image x:Name="bla" Source="{Binding blabla}" ... TouchDown="bla_TouchDown" PreviewMouseDown="bla_PreviewMouseDown">
我正在使用vs 2015
不隶属于 StackOverflow