Dans les nouvelles applications Windows 10, nous avons la possibilité dans la version desktop d’une application d’utiliser le bouton de navigation (bouton précédent) du système qui est placé à coté du nom de l’application dans la barre de titre (comme celui qu’on trouve dans l’application de paramètres:
Ce bouton est nativement géré par WinJSContrib, il suffit pour cela d’activer l’option « enableSystemBackButton » :
WinJSContrib.UI.enableSystemBackButton = true;
Un sample est disponible ici 🙂
Vous pouvez aussi l’implémenter manuellement. Il suffit d’utiliser la classe SystemNavigationManager et de modifier la propriété appViewBackButtonVisibility pour afficher ou cacher le bouton.
// il faut vérifier la disponibilité de l'api (disponible que sur desktop) if (window.Windows && window.Windows.UI && Windows.UI.Core && Windows.UI.Core.SystemNavigationManager) { Windows.UI.Core.SystemNavigationManager.getForCurrentView().appViewBackButtonVisibility = Windows.UI.Core.AppViewBackButtonVisibility.visible; // ou pour cacher le bouton Windows.UI.Core.SystemNavigationManager.getForCurrentView().appViewBackButtonVisibility = Windows.UI.Core.AppViewBackButtonVisibility.collapsed; }
Et pour gérer le clique il suffit de se brancher sur l’événement onbackrequested:
if (window.Windows && window.Windows.UI && Windows.UI.Core && Windows.UI.Core.SystemNavigationManager) { var systemNavigationManager = Windows.UI.Core.SystemNavigationManager.getForCurrentView(); systemNavigationManager.onbackrequested = function (args) { if (WinJS.Navigation.canGoBack) { WinJS.Navigation.back(); args.handled = true; } else { systemNavigationManager.appViewBackButtonVisibility = Windows.UI.Core.AppViewBackButtonVisibility.visible; } } }
Pour la version en C# (et ma source) c’est par ici