[英]EventHandler Implementation F#
我正在F#
实现以下C#
代码:
using Softweb.Xamarin.Controls.iOS;
public class DemoViewController : UIViewController, ICardViewDataSource
{
public CardView DemoCardView { get; set; }
public override void ViewDidLoad()
{
base.ViewDidLoad();
DemoCardView = new CardView();
//Wire up events
DemoCardView.DidSwipeLeft += OnSwipe;
DemoCardView.DidSwipeRight += OnSwipe;
DemoCardView.DidCancelSwipe += OnSwipeCancelled;
DemoCardView.DidStartSwipingCardAtLocation += OnSwipeStarted;
DemoCardView.SwipingCardAtLocation += OnSwiping;
DemoCardView.DidEndSwipingCard += OnSwipeEnded;
}
void OnSwipe(object sender, SwipeEventArgs e)
{
Console.WriteLine("View swiped.\n");
}
void OnSwipeCancelled(object sender, SwipeEventArgs e)
{
Console.WriteLine("Swipe cancelled.\n");
}
void OnSwipeStarted(object sender, SwipingStartedEventArgs e)
{
Console.Write("Started swiping at location {0}\n", e.Location);
}
void OnSwiping(object sender, SwipingEventArgs e)
{
Console.Write("Swiping at location {0}\n", e.Location);
}
void OnSwipeEnded(object sender, SwipingEndedEventArgs e)
{
Console.Write("Ended swiping at location {0}\n", e.Location);
}
}
我不确定如何复制
DemoCardView.DidSwipeLeft += OnSwipe;
语法F#
是什么的equivilant +=
在F#
我知道这是事件订阅的原因,这使我认为我应该为此使用F#
的Add
方法,但是我不确定如何使用。 另外, onSwipe
, onSwipeCancelled
...函数的签名应该是什么。 DidSwipeLeft
和其他人期望的类型是'IEvent<EventHandler<SwipeEventArgs>,SwipeEventArgs>
完整的API称为XCardView,可以在以下位置找到:
https://components.xamarin.com/gettingstarted/XCardView/true
let onSwipe = fun args -> printfn "View swiped"
DemoCardView.DidSwipeLeft.Add(onSwipe)
或者,简单地
DemoCardView.DidSwipeLeft.Add(fun args -> printfn "View swiped")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.