wpf的监听事件里面不是所有控件都有click事件的,通常一个点击事件是点击按下到松开整个过程称为点击。
简单来说,实现一个点击事件只需要mousedown和mouseup这2个事件
<Image Width="100" Height="100" Source="Image/1.jpg" MouseDown="Image_MouseDown" MouseUp="Image_MouseUp"></Image>
创建一个变量用于判断是否是一个控件
private Image clickImage = null;
写上mousedown和mouseup的事件
private void Image_MouseDown(object sender, MouseButtonEventArgs e) { clickImage = (Image)sender; e.Handled = true;}private void Image_MouseUp(object sender, MouseButtonEventArgs e) { if (clickImage != null && clickImage.Equals((Image)sender)) { MessageBox.Show("触发Click"); } clickImage = null;}
这样就实现了一个点击事件。
原理:鼠标按下将按下的控件赋值给clickImage
然后取消mousedown事件(不然松开的时候不会触发mouseup)
之后mouseup触发,判断clickImage是否为空(也就是刚才是否按下过图片控件)
并且判断按下的和松开的是否是同一个控件
如果是则代表触发Click事件
最后,clickImage赋值null
0条评论登录后可见