先在wpf中添加一个图片,设置好Source
并添加鼠标点击事件MouseDown="Image_MouseDown"
。
<Image HorizontalAlignment="Left" Height="132" Margin="106,161,0,0" VerticalAlignment="Top" Width="193" Source="C:\Users\Shine\Desktop\thinkpad\PS素材\手动阀关.png" MouseDown="Image_MouseDown" />
然后再对应生成的Image_MouseDown
函数中添加图片修改代码。
private void Image_MouseDown(object sender, MouseButtonEventArgs e)
{
MessageBoxResult result = MessageBox.Show("Are you love me?", "title", MessageBoxButton.YesNoCancel);
if (result == MessageBoxResult.Yes)
{
Image img = sender as Image;
img.Source = new ImageSourceConverter().ConvertFromString(@"C:\Users\Shine\Desktop\thinkpad\PS素材\手动阀开.png") as ImageSource;
}
else if (result == MessageBoxResult.Yes)
{
}
else if (result == MessageBoxResult.Cancel)
{
}
}
如果图片已经放到了项目资源文件,那么需要先选中所有图片,然后修改属性
中的生成操作
为Resource
。
修改完成后可以直接在xaml中添加图片路径:
<Image Margin="0,-50,1786,949" Visibility="Visible"
Height="50" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="48" MouseDown="Image_MouseDown"
Source="Resources/供料阀开.png">
在csharp中修改则需要做一点点小小的转换:
Image img = sender as Image;
System.Drawing.Bitmap bmp = Properties.Resources.电磁阀关;
IntPtr hBitmap = bmp.GetHbitmap();
System.Windows.Media.ImageSource WpfBitmap = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(hBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
img.Source = WpfBitmap;
上述代码参考:
wpf使用资源文件里图片出现无法将类型“System.Drawing.Bitmap”隐式转换为“System.Windows.Media.ImageSource”