【发布时间】:2008-11-10 14:40:35
【问题描述】:
是否可以将 Grid 或其他容器控件设置为某种事件大坝?这样当任何事件(特别是左键单击)在其中启动时,它们会在该控件处停止并且不再继续?
【问题讨论】:
是否可以将 Grid 或其他容器控件设置为某种事件大坝?这样当任何事件(特别是左键单击)在其中启动时,它们会在该控件处停止并且不再继续?
【问题讨论】:
PreviewMouseDown 是你的朋友...
将此事件添加到您的控件,并将 Handled 属性设置为 true...
所有事件在预览阶段首先从根到叶子,然后在实际事件案例中从叶子到根处理......
所以 PreviewMouseDown 在 Button 之前处理 Grid,而 MouseDown 事件在 Grid 之前处理 Button...
希望这会有所帮助...
【讨论】:
您应该能够扩展您想要的任何控件(假设它不是密封的)。在您的扩展类中,您可以覆盖单击事件并将其吞下(不要将其传递给基类)。
【讨论】: