Xamarin.Forms在自定义渲染器中处理自定义事件

时间:2017-03-27 15:18:19

标签: xamarin.android xamarin.forms

我有一个自定义渲染的基本实现,我将用它来处理长按..它完全基于这段代码http://arteksoftware.com/gesture-recognizers-with-xamarin-forms/

在我的" GestureContainerView"我有一个事件,我打电话给#34; OnHeldDown", enter image description here

我如何提出这个" OnHeldDown"事件if(在我的Android中)检测到" LongPress" ?

我试着在谷歌中查找,但无法找到一个例子。

-----------更新-------(找到解决方案)

PCL中的

enter image description here

Android中的

enter image description here

1 个答案:

答案 0 :(得分:1)

只需创建一个方法,检查是否有人订阅了事件处理程序并调用它,如果有人的话。

例如,创建一个像这样的方法:

private void RaiseOnHeldDown()
{
    if (OnHeldDown != null)
        OnHeldDown(this, EventArgs.Empty);

    // Or even do the null propagation way
    // OnHeldDown?.Invoke(this, EventArgs.Empty);
}

当然,如果您愿意,可以提供EventArgs

现在,在您检测到LongPress的情况下,您只需调用此方法。