DataPager EventArgs - PullRequest
       15

DataPager EventArgs

5 голосов
/ 11 июня 2010

Я использую элемент управления DataPager в своем приложении silverlight. У меня разные пейджеры для разных DataGrids и я хочу использовать один и тот же обработчик событий для события PageIndexChanged для всех них. Делегат должен принять объект EventArgs в качестве аргумента. Могу ли я использовать этот объект, чтобы «вернуться» к элементу управления, из которого было сгенерировано событие?

Ответы [ 3 ]

1 голос
/ 29 июня 2010

Клянусь, я пробовал это перед обновлением до f # 4 и silverlight 4, и это не сработало, но теперь работает ...

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

0 голосов
/ 11 июня 2010

Вот два моих сценария на F #:

Сценарий 1

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

pager.PageIndexChanged.AddHandler(pageIndexChanged)

Что выдает ошибку

Ожидается, что это выражение будет иметь тип EventHandler
но здесь имеет тип
EventHandler -> юнит

Сценарий 2

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

pager.PageIndexChanged.Add(pageIndexChanged)

Компилятор принимает это, но я ничего не могу поделать с аргументами

0 голосов
/ 11 июня 2010

Параметр отправителя является ссылкой на объект, который вызвал событие.

Поэтому, если вы хотите добраться до DataPager, это должно сделать это: -

 DataPager dp = (DataPager)sender;
...