-
26-09-2019 - |
题
我在 silverlight 应用程序中使用 DataPager 控件。我对不同的 DataGrid 有不同的寻呼机,并且希望对所有这些寻呼机的 PageIndexChanged 事件使用相同的事件处理程序。委托必须采用 EventArgs 对象作为参数。我可以使用此对象“返回”触发事件的控件吗?
解决方案
我发誓我在升级到 f# 4 和 silverlight 4 之前尝试过这个,但它不起作用,但现在它起作用了......
其他提示
在发送器参数是参考该触发事件的对象。
所以,如果你想获得的DataPager
这应该这样做: -
DataPager dp = (DataPager)sender;
下面是在F#我的两种方案:
方案1
let pageIndexChanged (args : EventHandler<EventArgs>) =
// Do something
()
pager.PageIndexChanged.AddHandler(pageIndexChanged)
哪些yeilds误差
此表达预期具有 键入事件处理结果 但这里有一个类型点击 事件处理程序 - >单元
方案2
let pageIndexChanged (args : EventArgs) =
// Do something
()
pager.PageIndexChanged.Add(pageIndexChanged)
在编译器接受这一点,但我无能为力与ARGS
不隶属于 StackOverflow