我曾经在Windows Phone 8.1 XAML中使用硬件按钮API。但是,在UWP中,某些设备没有后退按钮。我如何适应新的应用程序模型?如何处理按UWP的后退按钮
3
A
回答
2
可以使用BackRequested事件来处理回退请求:
SystemNavigationManager.GetForCurrentView().BackRequested += OnBackRequested;
if (App.MasterFrame.CanGoBack)
{
rootFrame.GoBack();
e.Handled = true;
}
2
点点解释回答。 您可以使用命名空间
SystemNavigationManager的Windows.UI.Core
对于单页
如果你只是想处理单页面导航。遵循以下步骤
步骤1。使用命名空间Windows.UI.Core
using Windows.UI.Core;
第2步:注册回请求事件当前视图。最好的地方是InitializeComponent()
之后的课程的主要构造函数。
public MainPage()
{
this.InitializeComponent();
//register back request event for current view
SystemNavigationManager.GetForCurrentView().BackRequested += MainPage_BackRequested;
}
第3步:手柄BackRequested事件
private void Food_BackRequested(object sender, BackRequestedEventArgs e)
{
if (Frame.CanGoBack)
{
Frame.GoBack();
e.Handled = true;
}
}
应用程序完全在一个地方进行单rootFrame
处理所有后退按钮所有视图最好的地方是App.xaml.cs
步骤1。使用命名空间Windows.UI.Core
using Windows.UI.Core;
第2步:注册回请求事件当前视图。这个最好的地方是OnLaunched
之前Window.Current.Activate
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
...
SystemNavigationManager.GetForCurrentView().BackRequested += OnBackRequested;
Window.Current.Activate();
}
第3步:手柄BackRequested事件
private void OnBackRequested(object sender, BackRequestedEventArgs e)
{
Frame rootFrame = Window.Current.Content as Frame;
if (rootFrame.CanGoBack)
{
rootFrame.GoBack();
e.Handled = true;
}
}
引用 - Handle back button pressed in UWP
希望这是有帮助的人!
0
上述代码完全正确,但您必须在rootFrame变量中添加框架对象。以下给出:
private Frame _rootFrame;
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
Frame rootFrame = Window.Current.Content as Frame;
if (Window.Current.Content==null)
{
_rootFrame = new Frame();
}
}
并将此_rootFrame传递给OnBackRequested方法。像:
private void OnBackRequested(object sender, BackRequestedEventArgs
{
if (_rootFrame.CanGoBack)
{
_rootFrame.GoBack();
e.Handled = true;
}
}
相关问题
- 1. 后退按钮处理wp7
- 2. Android - 处理后退按钮
- 3. 处理android后退按钮
- 4. 处理后退按钮
- 5. 如何可能处理后退按钮
- 6. 如何避免[navpush]生成的后退按钮(处理生成后退按钮)
- 7. 单击后退按钮后处理GUI
- 8. Win10 UWP应用程序处理长按回退按钮
- 9. 处理后退按钮的问题
- 10. 处理后退按钮的Android(onBackPressed)
- 11. Android:在asynctask中处理后退按钮
- 12. Android后退按钮在Appcelerator中处理
- 13. 自定义Windows 10 UWP后退按钮
- 14. 请在单击后退按钮UWP
- 15. 如何处理后退按钮的Grails的Webflow
- 16. Android的完整动作使用'后退按钮按下处理
- 17. 按tkinter上的退出按钮后无法完成处理
- 18. 应用按后退按钮当按下后退按钮
- 19. 如何处理活动中的后退按钮
- 20. 如何处理Windows Phone 7上的后退按钮
- 21. Viewflipper如何处理Android中的后退按钮?
- 22. 如何处理hildon.Seekbar中的后退和前进按钮?
- 23. 如何处理仅在特定页面上的后退按钮?
- 24. 如何处理退出后单击“返回”按钮的用户
- 25. 屏幕后退按钮上的UWP - 如何触发系统后退事件?
- 26. 如何处理后退按钮IE和FF/Safari浏览器
- 27. 如何在对话框中处理后退按钮?
- 28. 如何在春天处理浏览器后退按钮mvc
- 29. 如何处理表单提交ASP.NET MVC后退按钮?
- 30. 如何在codenameOne UWP应用上启用“后退”按钮?
这个'SystemNavigationManager'位于何处?我无法找到它。 'Windows.UI.Core'命名空间中的 – SandRock
。 VS应该建议你。 – thang2410199
好的。这可能是因为我的目标是8.1。 – SandRock