<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
管理應用生命週期事件是開發應用程式時最常見的要求之一。同樣,有必要在跨平臺應用程式(如 .NET MAUI應用)中處理應用生命週期,以提高其效率。
在這篇部落格中,我將通過程式碼範例分享如何在 .NET MAUI 應用中設定應用生命週期事件。
通常,應用具有不同的生命週期或狀態。.NET MAUI 應用具有以下四個生命週期(執行狀態):
當視窗移動到每個狀態時,將觸發不同的事件。
以下是跨平臺應用中提供的一些預定義生命週期事件:
下面是對映圖,其中說明了 .NET MAUI 框架將如何對映本機事件。
使用 .NET MAUI Preview 13,您可以使用 MauiAppBuilder 和 ConfigureLifecycleEvents 擴充套件方法輕鬆地在 MauiProgram 類中設定生命週期事件。此方法在 Microsoft.Maui.LifecycleEvents 名稱空間中可用。
有關常見設定,請參閱以下程式碼範例。
using Microsoft.Maui.LifecycleEvents; namespace MauiApp1; public static class MauiProgram { public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder(); builder .UseMauiApp<App>() .ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); }).ConfigureLifecycleEvents(app => { //Code... }); return builder.Build(); } }
您還可以為自定義設定引發特定於平臺的事件。下面列舉了每個平臺的特定事件(可用):
目前,有以下 21 個特定於 Android 平臺的事件可用:
您可以使用編譯器指令通過 AddAndroid() 擴充套件方法呼叫特定於 Android 平臺的事件。
請參閱下面的程式碼範例。在這裡,我們將呼叫 OnBackPressed
事件以移動到上一個目標。
public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder(); builder .UseMauiApp<App>() .ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); }).ConfigureLifecycleEvents(AppLifecycle => { #if ANDROID AppLifecycle.AddAndroid(android => android .OnBackPressed((activity) => BackPressed())); #endif }); return builder.Build(); } static bool BackPressed() { return true; }
目前,有以下 10 個特定於 iOS 平臺的事件可用:
您可以使用編譯器指令通過 AddiOS() 擴充套件方法呼叫特定於 iOS 平臺的事件。
請參閱下面的程式碼範例。在這裡,我們將呼叫 WillEnterForeground
事件,該事件將在應用處於焦點模式時引發。
public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder(); builder.UseMauiApp<App>() builder.ConfigureLifecycleEvents(AppLifecycle => { #if IOS AppLifecycle.AddiOS(ios => ios .WillEnterForeground((app) => EnteredForeground()) ); #endif }); return builder.Build(); } static void EnterForeground() { }
目前,以下 8 個特定於 Windows 平臺的事件可用:
您可以使用編譯器指令通過 AddWindows() 擴充套件方法來呼叫特定於 Windows 平臺的事件。
請參閱下面的程式碼範例。在這裡,我們將呼叫 OnNativeMessage
事件來存取應用程式範例並刪除標題列。
public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder(); builder.UseMauiApp<App>() builder.ConfigureLifecycleEvents(AppLifecycle => { #if WINDOWS AppLifecycle .AddWindows(windows => windows.OnNativeMessage((app, args) => { app.ExtendsContentIntoTitleBar = false; })); #endif }); return builder.Build(); }
關於不同平臺的生命週期事件定義位置: Core > LifecycleEvents
有關更多詳細資訊,請參閱 .NET MAUI 應用程式生命週期事件檔案。
到此這篇關於在.NET MAUI應用中設定應用生命週期事件的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45