如何在C#UWP应用程序框架中隐藏/处理后退按钮

时间:2019-02-19 03:17:42

标签: c# uwp uwp-xaml

我有一个UWP应用程序,它的工作流程只有几个步骤。

  1. 第1步
  2. 第2步
  3. 第3步
  4. 第4步

假设第4步作为最后一步,我想导航到“后退按钮”上的第2步(不是第3步),单击最后一步(第4步)。 / p>

Step 4 -> (click back button) -> navigate to Step 2

如何处理ViewModel上的后退按钮单击事件?

OR

如何隐藏ViewModel上的“后退”按钮?

到目前为止,我已经在ViewModel的构造函数上进行了以下尝试。

SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Collapsed;
SystemNavigationManager.GetForCurrentView().BackRequested += (s, e) =>
{
   // Handle the Back pressed                
   NavigateToStep2();
};

1 个答案:

答案 0 :(得分:1)

  

以前,UWP应用使用AppViewBackButtonVisibility进行向后导航。将继续支持该API以确保向后兼容,但我们不再建议依赖AppViewBackButtonVisibility。相反,您的应用应绘制自己的应用内后退按钮。有关更多信息,请参见Navigation history and backwards navigation for UWP apps

根据您的描述,您的导航过程是高度定制的。您需要制作自己的导航服务。在您的应用程序中,您还需要制作自己的应用程序内后退按钮,并将该命令绑定到ViewModel的导航命令。

我在项目中使用了Template10。它已经实现了NavigationService。我直接使ViewModels继承其ViewModelBase类以使用其导航服务。非常方便您可以查看Template10源代码以获取更多详细信息。进行自己的导航服务将对您有所帮助。或者,您也可以直接使用Template10 NavigationService。