WPF,请看下这个可视化层的命中测试 HitTestResult result = VisualTreeHelper.HitTest((UIElement)sender, pt); //获取鼠标点击到的可视对象改成这样才行,你是根据sender得到的pt 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 MSDN这个例子,也是和我写的差不多啊,也没有用Sender啊 MSDN这个例子,也是和我写的差不多啊,也没有用Sender啊你这里如果使用canvas1是不行的,因为你设置了Height和Width,却没有设置对其。如果你的canvas的HorizontalAlignment=Left 并且 VerticalAlignment设置为Top,才可以,因为在MSDN中canvas的布局在window中是全布局的,也就是说Canvas的坐标系统和Window的是完全符合的,Window的坐标是从左上角为(0,0)点的,所以你的Canvas加上左上对齐,就能符合Window的坐标系统了。 Point pt = e.GetPosition((UIElement)sender); //获得鼠标坐标HitTestResult result = VisualTreeHelper.HitTest(ellipse1, pt); //获取鼠标点击到的可视对象HitTest中的第一个参数不是你要命中的东西,而是你的点的所依赖的Visual视图。Point pt = e.GetPosition((UIElement)ellipse1); //获得鼠标坐标HitTestResult result = VisualTreeHelper.HitTest(ellipse1, pt); //获取鼠标点击到的可视对象这样的话,pt得到的是相对ellipse1的点,也就是按照ellipse1外围矩形的左上角点作为(0,0)点,这里pt都是相对的 懂win8 metro的进 WPF如何获取当前应用程序的版本 一个基础问题,vs2005本地做个winform得exe程序后,复制到其他机子上如何能实行这个程序?需要安装什么东西吗? 请教如何用C#在WEB中弹出一个对话框? ListView如何隐藏某列,而且不会被用户拖出来? 输出Excel文件时报错:QueryInterface for Interface Excel._Application failed 关于数据库数据在窗口显示的问题! 线程方面的问题..急!!!! C# 学习提高经验 在c#中如何调用API函数??(紧急求助) 实在没办法解决了,请大神赐教!! c# 连接数据库
你这里如果使用canvas1是不行的,因为你设置了Height和Width,却没有设置对其。
如果你的canvas的HorizontalAlignment=Left 并且 VerticalAlignment设置为Top,才可以,因为在MSDN中canvas的布局在window中是全布局的,也就是说Canvas的坐标系统和Window的是完全符合的,Window的坐标是从左上角为(0,0)点的,所以你的Canvas加上左上对齐,就能符合Window的坐标系统了。
HitTestResult result = VisualTreeHelper.HitTest(ellipse1, pt); //获取鼠标点击到的可视对象HitTest中的第一个参数不是你要命中的东西,而是你的点的所依赖的Visual视图。
Point pt = e.GetPosition((UIElement)ellipse1); //获得鼠标坐标
HitTestResult result = VisualTreeHelper.HitTest(ellipse1, pt); //获取鼠标点击到的可视对象
这样的话,pt得到的是相对ellipse1的点,也就是按照ellipse1外围矩形的左上角点作为(0,0)点,这里pt都是相对的