PointerCaptureLost c# UWP Windows 10

PointerCaptureLost c# UWP Windows 10

我正在使用 C# 开发 UWP Windows 10 应用程序。 对于某些动画,我依赖于 PointerPressed 和 PointerReleased 事件。希望这些将成对发射。我错了。查看微软对此有何评论: https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.uielement.pointercapturelost

现在,我正在使用 PointerCaptureLost 代替 PointerReleased,它工作正常。唯一的问题是,如果我将 AddHandler 用于 PointerCaptureLost,它会显示错误:"UIElement.PointerCaptureLost can only appear on the left hand side of += or -="。它仅在添加为 +=.

时有效

知道为什么会这样吗?

您应该将 UIElement.PointerCaptureLostEventAddHandler 一起使用,因为这是指定事件的路由事件 ID。相反,x.PointerCaptureLost(其中 x 是控件的名称)是表示事件处理程序本身的字段。

我在代码中同时使用 x.AddHandler(UIElement.PointerCaptureLostEvent, ...)x.PointerCaptureLost += ... 没有问题。此外,正如 this link 所暗示的,它们都翻译成相同的 打电话给 AddRoutedEventHandler.