0

我创建了一个UserControl仅由 aGrid和一个被包含的简单元素Image

现在我想应用“ManipulationDeltaEvent”等事件来进行触摸控制。当我分配一个事件处理程序时

pic->ActionToken = pic->ManipulationDelta +=
ref new ManipulationDeltaEventHandler(this, &MainPage::SwipeImageEventHandler);

pic->CompletedToken = pic->ManipulationCompleted +=
ref new ManipulationCompletedEventHandler(this, &MainPage::ImageManipulationCompletedEventHandler);

我收到了有效EventRegistrationToken的 s,但是当我想在控件上滑动时,什么也没有发生(我调试过)。

我从 中读到overridingOnManipulationDelta-method Windows::UI::Xaml::Controls::Control,但在这里我被卡住了:

protected:

void OnManipulationDelta
(Windows::UI::Xaml::Input::ManipulationDeltaRoutedEventArgs^ e) override {

}   

虽然几乎没有关系,C++\CLI但它在MSDN上声明:

OnManipulationDelta方法没有默认实现。在派生类中重写 OnManipulationDelta 以处理 ManipulationDelta 事件。请务必调用基类的 OnManipulationDelta 方法,以便基类接收事件。


请给我一个提示,谢谢。

编辑

重写是不必要的

4

1 回答 1

1

You need to specify ManipulationMode on the control and the control needs a non-null Background or Fill, e.g. Background="Transparent".

于 2013-05-07T00:40:27.463 回答