WPF中image控件鼠标事件

问题描述

我在WPF的窗口中添加了一个image控件,然后想通过该控件的MouseDown事件来捕捉鼠标的位置,可是添加了事件的处理程序后,该事件怎么都不响应,下面是xaml和cs中的代码<Windowx:Class="TrackingForms.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="MainWindow"Height="400"Width="800"><Grid>/////其他的控件////////<Imagex:Name="ImageShow"MouseDown="ImageShow_MouseDown"HorizontalAlignment="Left"Height="334"Margin="287,25,0,0"VerticalAlignment="Top"Width="495"/></Grid></Window>privatevoidImageShow_MouseDown(objectsender,MouseButtonEventArgse){MessageBox.Show("你按了一下鼠标");/////这里我想先测试一下,确实进入到了该事件的处理程序中来//////}我查看了一下初始化的部分,也已经添加了路由事件侦听器,因为这个是控件自带的,自己就生成了事件处理代码#line62"....MainWindow.xaml"this.ImageShow.MouseDown+=newSystem.Windows.Input.MouseButtonEventHandler(this.ImageShow_MouseDown);但是,但是,我非常奇怪的是为什么在控件上点击鼠标,根本进入不到事件中去,一点反应也没有,请大神们帮忙答疑解惑,不甚感激

解决方案

解决方案二:
求大神帮忙解答,在线等
解决方案三:
有人帮忙解答一下吗?
解决方案四:
那是因为没有设置Source属性,只有当鼠标点击了Image控件所显示的图片时,才会引发鼠标事件。也就是说,如果图片尺寸小于控件尺寸,且Stretch=None时,即便设置了Source属性,也可能无法触发鼠标事件。例如:<BorderBackground="AliceBlue"BorderBrush="LightBlue"BorderThickness="1"HorizontalAlignment=Center"VerticalAlignment="Center"><ImageMouseDown="Image_MouseDown"Stretch="None"Width="120"Height="120"><Image.Source><DrawingImage><DrawingImage.Drawing><GeometryDrawingBrush="Crimson"Geometry="M16,20H20V16H16M16,14H20V10H16M10,8H14V4H10M16,8H20V4H16M10,14H14V10H10M4,14H8V10H4M4,20H8V16H4M10,20H14V16H10M4,8H8V4H4V8Z"/></DrawingImage.Drawing></DrawingImage></Image.Source></Image></Border>

所以,希望点击Image控件时响应鼠标事件,可以将事件设置在父控件,Border中。

时间: 2024-11-27 01:30:33

WPF中image控件鼠标事件的相关文章

wpf中添加控件怎么不显示

问题描述 wpf中添加控件怎么不显示 新人求指导,代码如下,TextBlock和Button不显示 <Window x:Class="计算器界面.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="计算器&

在左侧侧拉栏目中对控件添加事件监听,但点击后没有反应,为什么呢?

问题描述 在左侧侧拉栏目中对控件添加事件监听,但点击后没有反应,为什么呢? public class LeftMenuFragment extends BaseFragment { private ImageView headimage; private String id; @Override public View initView(LayoutInflater inflater) { View view = inflater.inflate(R.layout.left_menu, null

wpf 中 image控件中的bitmapsource/bitmapimage大小变化?

问题描述 wpf中image控件中的bitmapsource/bitmapimage大小一直都不变,怎么让其改变啊,急 解决方案 解决方案二:<DataGridTemplateColumn.CellTemplate><DataTemplate><ImageMouseLeftButtonDown="Image_MouseLeftButtonDown_1"Tag="{BindingFid,UpdateSourceTrigger=PropertyCha

WPF中TreeView控件在选中节点后如何获取其父节点,再父节点信息

问题描述 winform中TreeView控件中,在选中某个节点后,可以用e.Node.Parent来获取其父节点信息,再父节点可以用e.Node.Parent.Parent,而在WPF中此方法似乎不行,如,在选中某个节点后TreeViewItemitem=(TreeViewItem)treeCourseInfo.SelectedItem;可以获取该节点的信息if(item.Header.ToString()=="科目信息",但是不知该如何获取其父节点,再父节点.....信息,各位有谁

WPF中TabControl控件标签 可以隐藏吗或者去掉

问题描述 解决方案 解决方案二:控件的Visibility控件的设置即可代码或xaml里设置均可me.tabItem2.Visibility=System.Windows.Visibility.Hidden解决方案三:隐藏掉?那你为什么用这个控件?解决方案四:使用Items.Remove

WPF中Image控件不释放内存

问题描述 使用Image控件和button控件,每次按一下button载入一张新图片,就是不断修改Image控件的source.但是程序占的内存越来越多,似乎Image控件显示之前的图片所占的资源并没有被释放掉.类似的问题也在这里http://zhidao.baidu.com/link?url=DDjQpz5Un0IXGeF34N2LBWv10L7f1z5hpOdX980_LtPSZk6eCovyD3ZqXQL7Fkl8L5Ve2DDVaAmcyyEB-OKWjq 解决方案 解决方案二:参见:解

WPF中TextBox控件对于鼠标单击获取焦点后的全选

程序代码  代码如下 复制代码 void OnLostFocus(object sender, RoutedEventArgs e)          {              TextBox tb = e.Source as TextBox;              tb.PreviewMouseDown += new MouseButtonEventHandler(OnPreviewMouseDown);          }            void OnPreviewMous

wpf-WPF中ScrollViewer中的控件不触发TouchUp事件

问题描述 WPF中ScrollViewer中的控件不触发TouchUp事件 WPF中ScrollViewer中的控件不触发TouchUp事件,移除ScrollViewer后一切正常. 如果这个问题解决不了,那还有什么方法可以产生类似ScrollViewer的效果. 解决方案 WPF自定义控件-托盘控件和事件 解决方案二: http://www.th7.cn/Program/WPF/201508/536270.shtml

WPF:ScrollViewer中的控件不触发TouchUp事件

问题描述 WPF中ScrollViewer中的控件不触发TouchUp事件,移除ScrollViewer后一切正常.如果这个问题解决不了,那还有什么方法可以产生类似ScrollViewer的效果. 解决方案