DataPager EventArgs
-
26-09-2019 - |
Domanda
Sto utilizzando un controllo DataPager nella mia applicazione Silverlight. Ho cercapersone diversi per i diversi DataGrid e si desidera utilizzare lo stesso gestore di eventi per l'evento PageIndexChanged per tutti loro. Il delegato deve prendere un oggetto EventArgs come argomento. Posso usare questo oggetto per "tornare" per il controllo da cui è stato generato l'evento?
Soluzione
Giuro che ho provato questo prima di aggiornare a f # 4 e Silverlight 4 e non ha funzionato, ma ora lo fa ...
Altri suggerimenti
Il parametro mittente è il riferimento all'oggetto che ha generato l'evento.
Quindi, se si vuole arrivare al DataPager
questo dovrebbe farlo: -
DataPager dp = (DataPager)sender;
Ecco le mie due scenari in F #:
Scenario 1
let pageIndexChanged (args : EventHandler<EventArgs>) =
// Do something
()
pager.PageIndexChanged.AddHandler(pageIndexChanged)
Quali yeilds l'errore
Questa espressione è stata dovrebbe avere tipo EventHandler
ma qui ha tipo
EventHandler -> Unità
Scenario 2
let pageIndexChanged (args : EventArgs) =
// Do something
()
pager.PageIndexChanged.Add(pageIndexChanged)
Il compilatore accetta questo, ma non posso fare nulla con args