UWP Template10 SystemNavigationManager返回按钮添加GotFocus事件

时间:2016-08-27 00:38:08

标签: c# events uwp back template10

我正在尝试在Template 10 Back按钮上添加一个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)
    {
        ....
    }

但这不起作用。任何人都可以给我任何指示吗?

1 个答案:

答案 0 :(得分:0)

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

无论哪种方式,此事件都是由系统触发,它唯一能做的就是调用你的方法。您方法的名称无关紧要

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

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

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