【发布时间】:2011-02-12 19:26:09
【问题描述】:
我想制作一个显示图像并在单击时可以调用命令的用户控件。 稍后我想将这些控件的列表绑定到产品列表。
【问题讨论】:
标签: wpf mvvm mvvm-foundation clickable-image
我想制作一个显示图像并在单击时可以调用命令的用户控件。 稍后我想将这些控件的列表绑定到产品列表。
【问题讨论】:
标签: wpf mvvm mvvm-foundation clickable-image
试试这个非常直接的方法
<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
【讨论】: