WPF:Canvas Z-Index Bug

Nic*_*ick 2 c# wpf canvas z-index

所以我在WPF中制作了自己的轮播控件.我偶然发现了一个错误,并想知道是否有人知道如何解决这个问题,如方法调用或一系列方法调用或一些解决方法.这是我的旋转木马的打印屏幕:

Carousel Image http://img4.imageshack.us/img4/9599/carousele.jpg

正如你可以清楚地看到这个图像,我的鼠标指针超过按钮上写有16.但是上面写着18的按钮是一个蓝色的按钮,好像我的鼠标在那个按钮上.我还将工具提示设置为绑定到内容,工具提示说我的鼠标位于按钮上,其中包含18个.这应该是CORRECT行为,因为18是按钮z-index值.因此,上面有18的按钮应该是按钮的ON TOP,上面有16.但是,WPF没有以这种方式渲染画布,我想知道如何克服这个问题.我试过canvas.InvalidateArranage(),canvas.invalidateVisual(),canvas.UpdateLayout(),但我没有运气.画布的左侧显示它应该是什么样子,但即使z-index值正确,右侧也无法产生相同的结果,甚至这个截图证明了我的观点,这是WPF中的一个错误.

Dea*_*ash 5

在wpf中,技术上你的鼠标是18岁以上.触发事件(可能)的方式如下:

我已经超过"16",将鼠标悬停在16以上我超过"18",将鼠标悬停在18上

由于18是最近被调用的,所以它被选中(再次,只是我的猜测).

在mousemove事件的事件args中(我假设是mousemove),确保设置e.Handled = true,这样它只处理一次