UWP Template10 SystemNavigationManager后退按钮增加GotFocus事件

本文关键字:增加 GotFocus 事件 按钮 Template10 SystemNavigationManager UWP | 更新日期: 2023-09-27 18:04:19

我试图在模板10上添加OnGotFocus事件后退按钮:

在PageViewModels.cs:

 public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary<string, object> suspensionState)
    {
        SystemNavigationManager.GetForCurrentView().BackRequested += OnGotFocus;
    }
private async void OnGotFocus(object sender, BackRequestedEventArgs e)
    {
        ....
    }

但这不起作用。有人能给我点建议吗?

UWP Template10 SystemNavigationManager后退按钮增加GotFocus事件

您在代码片段中所做的是为BackRequested事件连接一个处理程序。当系统注册到一个返回应用程序的请求时,该事件被触发。这可以通过用户在桌面平板模式下点击任务栏中的后退按钮,或者在windows模式下点击应用程序标题栏中的后退按钮或在移动设备上按下后退按钮来触发。

无论哪种方式,这个事件都是由系统触发的,它唯一做的就是调用你的方法。方法的名称根本不重要

我认为你应该复习一些关于c#事件处理的基础知识,以消除任何困惑。

为了能够使用OnGotFocus事件,您必须在XAML中创建自己的后退按钮,并为该按钮添加处理程序,因为只有这样您才能完全控制该控件。如果您只使用系统提供的BackRequested事件,则系统处于控制状态,除了该事件之外,您不能自定义任何内容。

<Button GotFocus="OnGotFocus" Content="My back button" />