先在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”
先在wpf中添加一个图片,设置好Source并添加鼠标点击事件MouseDown=&quot;Image_MouseDown&quot;。&amp;lt;Image HorizontalAlignment=&quot;Left&quot; Height=&quot;132&quot; Margin=&quot;106,161,0,0&quot; VerticalAlignment=&quot;Top&quot; Wi
XAML中需要引入System.Windows.Interactivity.dll
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
该ListBox的关键代码如下。
<Li...
<Page x:Class="WPFNavigate.Index"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/...
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350"
class ClickEventAction
static List<ClickEventAction> clickEventActions = new List<ClickEventAction>();
public static void AddClickEventAction(FrameworkElement framew
WPF提供了多种手势识别的方法,包括放大手势、平移手势等。在使用WPF实现手势放大移动图片时,我们可以采用以下步骤。
首先,我们需要在XAML中创建一个可以容纳图片的控件,例如Grid,并将图片添加到里面。接着,我们需要注册手势事件,包括ManipulationDelta和ManipulationCompleted事件,这两个事件分别用于捕获手势的移动和结束状态。
在ManipulationDelta事件处理程序中,我们可以获取手势的放大比例和偏移值,并通过修改图片的缩放比例和位置来实现手势放大移动图片的效果。具体而言,我们可以使用TransformGroup和ScaleTransform来控制图片的缩放比例,使用TranslateTransform来控制图片的位置。在ManipulationCompleted事件处理程序中,我们可以重置图片的缩放比例和位置,以便下次手势操作时从初始状态开始。
除了手势操作外,我们还可以添加其他控件,如滚动条,以方便用户对图片进行放大缩小和移动。总体而言,WPF提供了强大的手势识别和图形处理功能,使我们可以轻松实现各种交互式图形界面效果。
Django错误 DisallowedHost at / Invalid HTTP_HOST header. You may need to add to ALLOWED_HOSTS.
孤卷残梦饮一池恨:
Arduino修改Serial接收缓冲区大小
地球秩序の破坏神:
OneNET上传位置数据(经纬度)
KING.J688:
ImportError: No module named 'sklearn.datasets'; 'sklearn' is not a package