【问题标题】:In WinRT XAML - tapping and clicking on a button is not the same?在 WinRT XAML 中 - 点击和单击按钮不一样?
【发布时间】:2014-03-21 06:18:38
【问题描述】:

当挂钩页面上的 Tapped 事件时(这样我可以获得所有未被子级捕获的事件),当用户点击页面上的按钮时,我也会触发该事件。

我原以为按钮会“吞下”水龙头,但事实并非如此。

解决方法很简单,但很烦人 - 将 Tap 事件挂在每个按钮上,并将 Handled 设置为 true。我知道如何解决。

我的问题是我是否理解正确。如果在页面上的所有按钮上挂钩 Tap 事件(所以我不会触发页面上的点击事件)确实是正确的方法。

谢谢。

【问题讨论】:

    标签: c# windows-runtime winrt-xaml


    【解决方案1】:

    您应该处理按钮上的Click 事件,而不是Tapped 事件。如果Tapped 事件仍然冒泡到页面 - 是的,无论如何,请在按钮上处理它并将其标记为Handled 以防止冒泡或尝试更改按钮上的IsTapEnabled 值。 如果处理事件是唯一的方法并且您不喜欢后面的代码 - 您可以让所有按钮 Tapped 事件使用相同的处理程序,或者在定义行为的单独类中定义执行吞咽的附加行为.

    【讨论】:

    • 这对我来说似乎是一个非常奇怪的设计。但是啊,好吧。
    • @Filip Skakun 我使用了 e.handled = true;并解决了问题,谢谢!
    • 很高兴这仍然可以帮助某人!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 2016-06-12
    相关资源
    最近更新 更多