【问题标题】:Handling PointerEntered and PointerReleased but passing Click/Tap to parent element处理 PointerEntered 和 PointerReleased 但将 Click/Tap 传递给父元素
【发布时间】:2013-06-04 23:44:46
【问题描述】:

我有一个网格,在网格内,我有按钮。我需要 PointerEntered 和 PointerReleased 事件,因为我需要跟踪悬停的按钮。问题是,我需要我的 Grid 来处理点击事件。即使我没有按钮的单击/点击/按下处理程序,我的按钮也会捕获单击并且不会将其冒泡到其父级(网格)。如果我通过将 IsEnabled 设置为 false 来禁用按钮,则单击事件会正确地冒泡到 Grid,但不会触发 PointerEntered 和 PointerReleased 事件,我需要在按钮上处理这些事件。如何处理按钮上的输入/释放事件,同时将点击事件传递给其父级?我需要我的 Grid 进入“点击”状态,因为我还监听了它上面的 PointerReleased 事件。如果单击没有触发,即使我在网格上释放鼠标按钮,也不会触发释放。

谢谢, 可以。

【问题讨论】:

    标签: c# windows-8 windows-runtime windows-store-apps


    【解决方案1】:

    尝试使用 AddHandler 将点击事件附加到网格,看看它是否适合您。 http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.uielement.addhandler.aspx 请记住在完成后使用 RemoveHandler 删除事件。

    【讨论】:

    • 这就像一个魅力。不明白为什么我需要明确地这样做,但无论如何,谢谢:)
    • 有时其他控件会消耗它并且事件不会在链中冒泡:)。所以 AddHandler 是一种监听这类事件的方法。
    • 假设您将handledEventsToo 参数设置为true。这是关键。
    猜你喜欢
    • 1970-01-01
    • 2019-11-09
    • 2011-11-16
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    • 2021-11-10
    相关资源
    最近更新 更多