mirror of
https://github.com/microsoft/PowerToys.git
synced 2024-12-22 16:08:00 +08:00
40 lines
1.3 KiB
C#
40 lines
1.3 KiB
C#
|
using System;
|
|||
|
using System.Threading.Tasks;
|
|||
|
|
|||
|
using Microsoft.PowerToys.Settings.UI.Services;
|
|||
|
|
|||
|
using Windows.ApplicationModel.Activation;
|
|||
|
|
|||
|
namespace Microsoft.PowerToys.Settings.UI.Activation
|
|||
|
{
|
|||
|
internal class DefaultActivationHandler : ActivationHandler<IActivatedEventArgs>
|
|||
|
{
|
|||
|
private readonly Type _navElement;
|
|||
|
|
|||
|
public DefaultActivationHandler(Type navElement)
|
|||
|
{
|
|||
|
_navElement = navElement;
|
|||
|
}
|
|||
|
|
|||
|
protected override async Task HandleInternalAsync(IActivatedEventArgs args)
|
|||
|
{
|
|||
|
// When the navigation stack isn't restored, navigate to the first page and configure
|
|||
|
// the new page by passing required information in the navigation parameter
|
|||
|
object arguments = null;
|
|||
|
if (args is LaunchActivatedEventArgs launchArgs)
|
|||
|
{
|
|||
|
arguments = launchArgs.Arguments;
|
|||
|
}
|
|||
|
|
|||
|
NavigationService.Navigate(_navElement, arguments);
|
|||
|
await Task.CompletedTask;
|
|||
|
}
|
|||
|
|
|||
|
protected override bool CanHandleInternal(IActivatedEventArgs args)
|
|||
|
{
|
|||
|
// None of the ActivationHandlers has handled the app activation
|
|||
|
return NavigationService.Frame.Content == null && _navElement != null;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|