繁体   English   中英

我们如何更改 Avalonia 应用程序的默认关闭模式

[英]How can we change the default shutdown mode of an Avalonia application

我正在尝试使用 avalonia(.net 6) 构建跨平台桌面应用程序。 实际上我是 avalonia 的新手。 我想明确关闭我的应用程序。 默认关机方式OnLastWindowClose,我想改成OnExplicitShutdown。 我得到一个提示,它想要在应用程序 axaml.cs 的应用程序生命周期中进行配置。 但我不知道该怎么做。 任何人都请帮助我。 请给我详细说明配置它的每个步骤。

您可以通过StartWithClassicDesktopLifetime(T, string[], ShutdownMode)方法在 Main() 中设置它。

EG:在“Avalonia Application”项目模板中,您可以在Program.cs中进行如下设置:

public static void Main(string[] args) => BuildAvaloniaApp()
    .StartWithClassicDesktopLifetime(args, ShutdownMode.OnExplicitShutdown);

我还看到它在 App.axaml.cs 的 OnFrameworkInitializationCompleted() 中设置,但我没有测试过它......

public override void OnFrameworkInitializationCompleted()
{
    if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
    {
        desktop.ShutdownMode = Avalonia.Controls.ShutdownMode.OnExplicitShutdown;
    }

    base.OnFrameworkInitializationCompleted();
}

Avalonia github wiki 上有一些背景信息: Application-lifetimes

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM