none
Intercepter Bouton Retour RRS feed

  • Question

  • Bonjour,

    mon problème est le suivant : je cherche à intercepter l’événement d'appui sur le bouton "retour" sous windows phone 8.1 et à le tourner "à ma sauce" (par exemple en remplaçant l'action par une redirection sur une page etc.).

    J'ai en réalité deux problèmes :

    - premièrement lorsque j'appuie sur "retour", sans rien avoir touché à l’événement associé (que je ne connais pas d'ailleurs) ce qui se passe est plutôt semblable à l'appui de la touche "windows" (retour sur l'écran d'accueil, lorsque je maintiens "retour" pour afficher les applis ouvertes je vois mon appli et je peux retourner dessus, cependant c'est la même page qu'avant.

    - deuxièmement je ne connais pas le nom de l'événement et ne sais pas comment l'"overwriter". Après recherche je trouve : OnBackKeyPress très souvent mais c'est apparemment un événement windows 7.5 qui n'existe plus sous 8.1 .

    Merci d'avance,

    Atanakar.

    • Modifié Atanakar vendredi 24 octobre 2014 13:49 Anonymat
    mardi 14 octobre 2014 20:56

Réponses

  • C'est pour indiquer que vous avez traité l'event.

    Si vous ne le faites pas, il ne prendra pas en compte "votre réponse".



    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 15 octobre 2014 07:13
  • Solution : dans le code behind :

    - Ajouter au constructeur de la page : 

    Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;

    - Et la methode :

    void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
            {
                Frame rootFrame = Window.Current.Content as Frame;
                if(rootFrame != null && rootFrame.CanGoBack)
                {
                    rootFrame.GoBack();
                    e.Handled = true;
                }
            }

    Mais, à quoi sert " e.Handled = true; " ?

     
    mardi 14 octobre 2014 21:18

Toutes les réponses

  • Solution : dans le code behind :

    - Ajouter au constructeur de la page : 

    Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;

    - Et la methode :

    void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
            {
                Frame rootFrame = Window.Current.Content as Frame;
                if(rootFrame != null && rootFrame.CanGoBack)
                {
                    rootFrame.GoBack();
                    e.Handled = true;
                }
            }

    Mais, à quoi sert " e.Handled = true; " ?

     
    mardi 14 octobre 2014 21:18
  • C'est pour indiquer que vous avez traité l'event.

    Si vous ne le faites pas, il ne prendra pas en compte "votre réponse".



    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 15 octobre 2014 07:13
  • J'ai un problème qui persiste :

    L'action du bouton retour lorsque je me trouve  sur la première page de l'appli n'est pas de la fermer (ce que je voudrais) mais plutôt un comportement similaire au bouton central : cela me ramène sur l'écran d'accueil, et lorsque je maintiens retour enfoncé je remarque que l'appli ne s'est pas fermée !

    Une solution ?

    mercredi 22 octobre 2014 19:55