如何强制控件不向树上传递单击事件?WPF C#

如何强制控件不向树上传递单击事件?WPF C#,c#,wpf,events,C#,Wpf,Events,是否可以将网格或其他容器控件设置为某种事件坝?因此,当任何事件(特别是左键单击)开始向上运行时,它们会停止在该控件上,不再继续运行?您应该能够扩展您想要的任何控件(假设它未密封)。在扩展类中,您可以覆盖click事件并将其吞并(不要将其传递给基类)。PreviewMouseDown是您的朋友 将此事件添加到控件,并将Handled属性设置为true 所有事件首先在预览状态下从根到叶进行隧道传输,然后在实际事件情况下从叶到根进行处理 所以PreviewMouseDown在按钮之前处理网格,而Mou

是否可以将网格或其他容器控件设置为某种事件坝?因此,当任何事件(特别是左键单击)开始向上运行时,它们会停止在该控件上,不再继续运行?

您应该能够扩展您想要的任何控件(假设它未密封)。在扩展类中,您可以覆盖click事件并将其吞并(不要将其传递给基类)。

PreviewMouseDown是您的朋友

将此事件添加到控件,并将Handled属性设置为true

所有事件首先在预览状态下从根到叶进行隧道传输,然后在实际事件情况下从叶到根进行处理

所以PreviewMouseDown在按钮之前处理网格,而MouseDown事件在网格之前处理按钮


希望这有帮助…

谢谢大角星。在你发帖的时候,我正在想办法解决这个问题。这肯定有帮助,现在一切都正常工作了DNo问题:)很高兴我能帮忙!:D