共用方式為


在 UWP 應用程式中儲存和載入設定

本主題涵蓋您需要了解在通用 Windows 平台 (UWP) 應用程式中開始設定載入與儲存、設定的資訊。 介紹了主要 API,並提供連結有助於您了解更多資訊。

使用設定以記住應用程式的使用者可自訂層面。 例如,新聞閱讀程式可使用應用程式設定儲存要顯示哪一則新聞來源,以及要用於閱讀文章所使用的字型。

我們將查看程式碼來儲存和載入應用程式設定。

您需要知道的事項

使用應用程式設定來儲存設定資料,例如使用者的喜好設定和應用程式狀態。

設定可以使用下列的資料類型:整數、加倍、浮點數、字元、字串、點、DateTimes,及更多。 您也可以儲存 ApplicationDataCompositeValue 類別的執行個體,有多個應視為一個單位的設定時,很實用。 例如,您的應用程式 \[讀取\] 窗格中顯示文字的字型名稱與點大小,應該以單一單位來儲存/還原。 這可防止一個設定因為平行存取而與另一個設定不同步,例如主要程式與背景工作之間的存取。

以下是您必須知道的主要 API 來儲存或載入應用程式設定:

儲存應用程式設定

在此簡介中,我們將著重於兩個簡單的案例:儲存和載入簡單的應用程式設定,以及儲存和載入複合字型/字型大小設定。

ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;

// Save a setting locally on the device
localSettings.Values["test setting"] = "a device specific setting";

// Save a composite setting locally on the device
Windows.Storage.ApplicationDataCompositeValue composite = new Windows.Storage.ApplicationDataCompositeValue();
composite["Font"] = "Calibri";
composite["FontSize"] = 11;
localSettings.Values["FontInfo"] = composite;

透過使用 Windows.Storage.ApplicationData.Current.LocalSettings 優先取得本機設定資料存放區的 ApplicationDataContainer 儲存設定。 您指派給此執行個體的索引鍵/值字典組會儲存在本機裝置設定資料存放區中。

上述的程式碼片段中,ApplicationDataCompositeValue 儲存多個索引鍵/值組。 當您有多個應該不會彼此同步處理的設定時,複合值會很實用。 當您儲存 ApplicationDataCompositeValue 時,以一個單位儲存與載入這些值,或自動完成。 如此一來,相關的設定就不會同步。

載入應用程式設定

ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;

// load a setting that is local to the device
String localValue = localSettings.Values["test setting"] as string;

// load a composite setting
Windows.Storage.ApplicationDataCompositeValue composite = (ApplicationDataCompositeValue)localSettings.Values["FontInfo"];
if (composite != null)
{
    String fontName = composite["Font"] as string;
    int fontSize = (int)composite["FontSize"];
}

透過使用 Windows.Storage.ApplicationData.Current.LocalSettings 優先取得本機設定資料存放區的 ApplicationDataContainer 執行個體來載入設定。 然後用來擷取索引鍵/值組。 如果資料不存在,您將取得 Null 物件。 在 C# 中,這表示如果設定不存在,localValue 將為 null

遵循類似的模式載入複合設定。 從本機設定資料存放區存取機碼值組。 如果資料不存在,您會收到 null ApplicationDataContainer。 這便是在上述範例程式碼中有 if (composite != null) 檢查的原因。

實用的 API 和文件

以下是 API 的快速摘要,以及其他實用的文件,有助於您開始儲存與載入應用程式設定。

實用的 API

API 描述
ApplicationData.LocalSettings 從本機應用程式資料存放區中取得應用程式設定容器。
ApplicationData.RoamingSettings 從漫遊應用程式資料存放區中取得應用程式設定容器。
ApplicationDataContainer 應用程式設定的容器,支援建立、移除、列舉,與周遊容器階層。
Windows.UI.ApplicationSettings 命名空間 提供您會用來定義應用程式設定的類別,其顯示在 Windows 殼層的設定窗格中。

實用的文件

主題 說明
應用程式設定的指導方針 描述建立和顯示應用程式設定的最佳做法。
儲存及擷取設定和其他應用程式資料 用於儲存和擷取設定的逐步解說。

實用的程式碼範例

程式碼範例 描述
應用程式資料範例 案例 2-4 著重於設定