如何在一个被设置为false的子节点上将IsHitTestVisible设置为True?

Mar*_*eIV 10 wpf layout hittest

我有一条在边框内的消息,显示在MDI客户区前面.因为它只是一条消息,所以我将其设置IsHitTestVisible为false.为方便起见,我还在其中包含了一个按钮,因此用户只需单击按钮即可开始新图表.

但是,由于边框IsHitTestVisible设置为False,它True会使按钮的值短路,因此用户无法单击按钮.

也就是说,如何让一个控件对鼠标不可见,同时仍允许其中一个孩子接收鼠标事件?

这是一个截图:

在此输入图像描述

我们希望带有文本的蓝色区域被点击测试不可见,但我们希望按钮仍然可以被按下.思考?(是的,我已经知道将这两个项目堆叠在一个网格中,但这与布局有关.

Mar*_*eIV 2

好吧,看起来这个问题不能按照要求解决,因此看起来我们必须恢复到分层方法。在这种情况下,为了补偿文本更改,您必须将按钮的垂直对齐方式设置为“底部”,并确保边框的下边缘或 TextBlock 的下边距上有额外的填充,以确保标签始终浮动在按钮上方。按钮。您可以使用相同的原则来管理两者的侧边距/填充。

这将为我们提供我们想要的东西,但看起来相当麻烦。再次,我希望有某种方法可以用“强制”指定 IsHitTestVisible(或 IsEnabled),以某种方式将它们(及以下)重新建立为行为的所有者。一个人可以做梦。在那之前......它是分层的!