2011-09-15 8 views
6

Ho una richiesta di funzionalità per catturare la chiave F5 e aggiornare il contenuto all'interno di un'applicazione Silverlight invece di fare in modo che il browser aggiorni l'intera applicazione. In una semplice app, ho provato ad agganciare l'evento KeyDown e non ci arriva mai con F5.È possibile catturare F5 in un'applicazione Silverlight

È qualcosa che è possibile fare in Silverlight?

+0

Partenza questo: [http://stackoverflow.com/questions/3456591/silverlight-4-detect-browser-f5-refresh-and-x-close][1] [1]: http://stackoverflow.com/questions/3456591/silverlight-4-detect-browser-f5-refresh-and-x-close –

risposta

3

Il browser ottiene tutti i tasti premuti per primi e determina se li passerà al contenuto ospitato (Silverlight) o meno. AFAIK non c'è modo di fermare un aggiornamento quando viene premuto F5, poiché verrà sempre gestito dal browser.

Potrebbe essere possibile utilizzare javascript per rilevare la pressione del tasto e trasmetterlo a SL, ma sono abbastanza sicuro che non impedirà l'aggiornamento del browser.

1

Ho trovato this post che mostra come farlo in javascript. L'ho provato e funziona (IE9) ... a meno che tu non abbia il focus nell'applicazione Silverlight :-). Questo SO post è simile, ma non ha ancora una soluzione.

Dopo aver provato, sono d'accordo con @Phil, che l'interruzione del refresh probabilmente non è possibile, almeno per IE.

0

se il cliente è felice di lasciare il codice a che il proprio browser, allora forse si può convincerli a installare l'applicazione out-of-browser in cui è possibile avere un controllo maggiore di navigazione

Problemi correlati