事件不触发?
正如前面提到的,如果某个组件不触发事件,可检查其HitTestable属性是否被误设置为False了,一定要设置为True才会触发事件。
但有的时候,HitTestable明明已经设置为True了,也不会触发事件。
例如我在一个仪表控件中顺序增加了三个组件,分别是:Caption,Ellipse和Rectangle:
结果时钟只会针对Rectangle触发事件,Caption和Ellipse不会触发任何事件。
这是因为Rectangle是最后添加的,位于最顶层,而且尺寸最大,完全"遮住"了Caption和Ellipse, 所以后两者不会触发事件。
要使得Caption和Ellipse正常触发事件, 需要调整三个组件的顺序,使得Caption位于最顶层,Ellipse次之,Rectangle位于最底层: