Application 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
封裝應用程式及其可用的服務。
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Application
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class Application
Public Class Application
<Application />
- 繼承
- 屬性
Windows 需求
裝置系列 |
Windows 10 (已於 10.0.10240.0 引進)
|
API contract |
Windows.Foundation.UniversalApiContract (已於 v1.0 引進)
|
備註
Application 類別會封裝應用程式並提供下列服務:
- 應用程式進入點,特別是針對各種啟用合約
- 應用程式存留期管理
- 應用程式範圍資源
- 未處理的例外狀況偵測
Application 物件通常會在 App.xaml 的初始 XAML 中提供。 Visual Studio 中的預設專案範本會產生 App
衍生自 Application 的類別,並提供您可以新增初始化程式碼的進入點。
類別 App
會藉由在其建構函式中呼叫產生的 InitializeComponent
方法,將本身與對應的 XAML 產生關聯。 您可以將其他初始化程式碼新增至 App
建構函式,但通常只會新增程式碼,以將處理常式與應用程式事件產生關聯。 針對其他初始化程式碼,您應該覆寫一或多個初始化方法,例如 OnLaunched。
系統會在使用者切換至另一個應用程式或桌面時暫停您的應用程式,並在使用者切換回應用程式時繼續您的應用程式,以處理應用程式存留期。 不過,系統也可以在應用程式暫停時終止,以釋出資源。 您應該處理 Suspending 事件,以在終止時儲存應用程式狀態,並覆寫 OnLaunched 方法來還原應用程式狀態。 只有在應用程式暫停時可能需要重新整理可能已變更的任何顯示內容時,才應該處理 繼續 事件。 當應用程式繼續時,您不需要還原其他應用程式狀態。
由於其在應用程式模型、codegen 和啟用順序中的位置,因此 Application 對其 XAML 使用方式有一些限制:
- 除了 xmlns 宣告和 x:Class以外,根標籤上
Application
不能顯示任何其他屬性。 - 請勿嘗試變更來自專案範本 App.xaml 頁面的 x:Class 值,建置動作中存在使用該命名配置的其他相依性。
- 請勿在 XAML 中連接應用程式事件處理常式。 所有事件連接都應該在程式碼中完成 (通常是在建構函式中) 。 此外,您通常會使用方法覆寫,而不是事件 (的事件語法,例如覆寫 OnActivated 以回應應用程式生命週期的該階段。)
- XAML 中應用程式實例上唯一預期的屬性是使用 XAML 屬性元素使用方式填入 Application.Resources 屬性的一組元素。 如需詳細資訊,請參閱 資源。 若要為應用程式程式碼未攔截的任何例外狀況提供一般錯誤處理,請處理 UnhandledException 事件。
注意
應用程式主要檔案必須命名為 App.xaml
。
版本歷程記錄
Windows 版本 | SDK 版本 | 已新增值 |
---|---|---|
1607 | 14393 | EnteredBackground |
1607 | 14393 | FocusVisualKind |
1607 | 14393 | LeavingBackground |
1607 | 14393 | OnBackgroundActivated |
1607 | 14393 | RequiresPointerMode |
1703 | 15063 | HighContrastAdjustment |
建構函式
Application() |
初始化 Application 類別的新實例。 |
屬性
Current |
取得目前應用程式的 Application 物件。 |
DebugSettings |
取得 物件,這個物件會宣告應用程式在偵錯環境中執行時的行為。 |
FocusVisualKind |
取得或設定應用程式可用來指出具有焦點之 UI 元素的視覺回饋類型。
|
HighContrastAdjustment |
取得或設定值,這個值表示當啟用高對比主題時,架構是否會自動調整視覺屬性。 |
RequestedTheme |
取得或設定值,這個值會決定應用程式整體主題的淺色喜好設定。 |
RequiresPointerMode |
取得或設定 UWP 應用程式是否支援滑鼠模式,以模擬非指標輸入裝置的指標互動體驗,例如遊戲台或遠端控制。 (所有巢狀專案都會繼承此行為。) |
Resources |
取得應用程式範圍的資源集合,例如樣式、範本和筆刷。 |
方法
事件
EnteredBackground |
當應用程式從前景移至背景時發生。 |
LeavingBackground |
當應用程式從背景移至前景時發生。 |
Resuming |
當應用程式從 [暫停] 狀態轉換為 [執行中] 狀態時發生。 |
Suspending |
當應用程式從一些其他狀態轉換為暫停狀態時發生。 |
UnhandledException |
發生于應用程式程式碼可以處理例外狀況時,如從原生層級Windows 執行階段錯誤轉送。 應用程式可以將發生次數標示為事件資料中已處理。 |