Code Bye

关于wpf控件响应鼠标事件的问题~

问题描述:

1、自定义了一个控件control,使用canvas布局控件,布局控件里添加若干Border控件
2、Border控件添加了mouseup鼠标事件;
3、在一个windows窗口调用了该自定义control控件

出现了这样一个现象:
鼠标只有点击Border的边框部分(仅仅是边界部分),才能接收到mouseup鼠标事件,点击Border的其他部分没有反应.

请问,如果点击Border控件的任何部分都可以响应鼠标事件,应该怎么做?

Border控件是空的,没有放置控件在里面。

20分

#1

Border 属于“装饰类” 控件,继承自 Decorator 类,所谓的装饰,顾名思义就是 去包装别的控件。它本身不是内容控件,也可以理解为  它的边框”宽度“,可见部分就是它的内容。 你可以换成Rect 试试
5分

#2

canvas布局,点击的Border是不是被覆盖了?Border控件是空的,应该可以达到你说的要求。给所有的Border添加下背景,看看你点击到底是哪个Border。
5分

#3

冒泡不行那就用隧道事件看看吧 

#4

回复1楼:

设置一下border的bankground属性这个问题就解决了,奇怪啊。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于wpf控件响应鼠标事件的问题~