Hai*_* Cu 5 windows-10 windows-10-mobile
我曾经在 Windows Phone 8.1 XAML 中使用硬件按钮 API。但是,在 UWP 中,某些设备没有后退按钮。如何适应新的应用模式?
稍微解释一下答案。
您可以使用命名空间的SystemNavigationManagerWindows.UI.Core
如果您只想处理单页导航。请按照以下步骤操作
步骤1。使用命名空间Windows.UI.Core
using Windows.UI.Core;
Run Code Online (Sandbox Code Playgroud)
步骤2.注册当前视图的返回请求事件。最好的地方是 after 类的主构造函数InitializeComponent()。
public MainPage()
{
this.InitializeComponent();
//register back request event for current view
SystemNavigationManager.GetForCurrentView().BackRequested += MainPage_BackRequested;
}
Run Code Online (Sandbox Code Playgroud)
步骤 3.处理 BackRequested 事件
private void Food_BackRequested(object sender, BackRequestedEventArgs e)
{
if (Frame.CanGoBack)
{
Frame.GoBack();
e.Handled = true;
}
}
Run Code Online (Sandbox Code Playgroud)
rootFrame处理所有视图的所有后退按钮的最佳位置是App.xaml.cs
步骤1。使用命名空间Windows.UI.Core
using Windows.UI.Core;
Run Code Online (Sandbox Code Playgroud)
步骤2.注册当前视图的返回请求事件。最好的地方就OnLaunched在之前Window.Current.Activate
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
...
SystemNavigationManager.GetForCurrentView().BackRequested += OnBackRequested;
Window.Current.Activate();
}
Run Code Online (Sandbox Code Playgroud)
步骤 3.处理 BackRequested 事件
private void OnBackRequested(object sender, BackRequestedEventArgs e)
{
Frame rootFrame = Window.Current.Content as Frame;
if (rootFrame.CanGoBack)
{
rootFrame.GoBack();
e.Handled = true;
}
}
Run Code Online (Sandbox Code Playgroud)
参考 -在 UWP 中按下后退按钮的处理
希望这对某人有帮助!
您可以使用 BackRequested 事件来处理返回请求:
SystemNavigationManager.GetForCurrentView().BackRequested += OnBackRequested;
if (App.MasterFrame.CanGoBack)
{
rootFrame.GoBack();
e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3008 次 |
| 最近记录: |