5

我在silverlight 应用程序中使用DataPager 控件。我对不同的 DataGrids 有不同的寻呼机,并且希望对所有这些寻呼机使用相同的事件处理程序来处理 PageIndexChanged 事件。委托必须将 EventArgs 对象作为参数。我可以使用这个对象“返回”到触发事件的控件吗?

4

3 回答 3

1

我发誓我在升级到 f# 4 和 silverlight 4 之前尝试过这个,但它没有用,但现在它可以了......

http://connect.microsoft.com/VisualStudio/feedback/details/524645/f-add-event-handler-to-form-anonymous-function-is-required

于 2010-06-28T20:32:20.077 回答
0

这是我在 F# 中的两个场景:

方案 1

let pageIndexChanged (args : EventHandler<EventArgs>) = 
    // Do something
    ()

pager.PageIndexChanged.AddHandler(pageIndexChanged)

哪个产生错误

该表达式应具有 EventHandler 类型
,但此处具有
EventHandler -> unit类型

方案 2

let pageIndexChanged (args : EventArgs) = 
    // Do something
    ()

pager.PageIndexChanged.Add(pageIndexChanged)

编译器接受这一点,但我对 args 无能为力

于 2010-06-11T13:52:01.300 回答
0

sender 参数是对触发事件的对象的引用。

所以如果你想达到DataPager这个应该这样做: -

 DataPager dp = (DataPager)sender;
于 2010-06-10T20:55:16.300 回答