F#EventHandler实现

时间:2018-02-08 14:32:04

标签: ios .net f# xamarin.ios slider

我有以下存储库中的priceSlider.addTarget(self, action: #selector(updatePrice), for: .valueChanged)

https://github.com/halkar/xamarin-range-slider

我在实现一个处理正在移动的滑块的方法时遇到了问题:

在Swift中,我们可以简单地这样做:

updatePrice

然后我们将使用func updatePrice() { //code } 方法:

addTarget

我不明白如何在F#中这样做。我找到了UIControlEvent.ValueChanged方法,但它有以下签名,我不知道如何进行转换。我假设第二个参数只是EventHandler,但"editor.tabSize": 2, "editor.insertSpaces": false, "editor.detectIndentation": false, 的语法是什么?

enter image description here

编辑:

enter image description here

2 个答案:

答案 0 :(得分:3)

我相信事件处理程序将注册如下:

priceSlider.AddTarget(EventHandler (fun sender event -> updatePrice(...)), UIControlEvent.ValueChanged)

答案 1 :(得分:1)

EventHandler应该是这样的:

fun evArgs -> .... your event handling code ....

所以AddTarget调用应该是:

AddTarget (fun evArgs -> .... your event handling code ...), UIControlEvent.ValueChanged

来源:https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/members/events