2010-06-30 41 views
13

Có cách nào để thêm tệp cấu hình cho các ứng dụng WP7 như ứng dụng Windows và ứng dụng web không? Tôi chỉ cần một cách dễ dàng để lưu một vài cài đặt tôi không muốn tạo đối tượng của riêng mình và phải tuần tự hóa/deserialize một tệp xml. Có vẻ như không có bất kỳ loại mục mẫu nào mà tôi có thể thêm vào dự án của tôi nên chỉ cần tự hỏi liệu có ai đã làm điều này hay một ý tưởng về cách tốt nhất không?Windows phone 7 config/appSettings?

Trả lời

7

Tìm thấy rằng bạn có thể thực hiện việc này bằng lớp IsolatedStorageSettings.ApplicationSettings.

31

Tôi đã viết một trình bao bọc đơn giản xung quanh lớp IsolatedStorageSettings giúp lưu trữ và truy xuất cài đặt. Có thể bạn sẽ thấy nó hữu ích.

using System.IO.IsolatedStorage; 

public static class AppSettings 
{ 
    private static IsolatedStorageSettings Settings = System.IO.IsolatedStorage.IsolatedStorageSettings.ApplicationSettings; 

    public static void StoreSetting(string settingName, string value) 
    { 
     StoreSetting<string>(settingName, value); 
    } 

    public static void StoreSetting<TValue>(string settingName, TValue value) 
    { 
     if (!Settings.Contains(settingName)) 
      Settings.Add(settingName, value); 
     else 
      Settings[settingName] = value; 

     // EDIT: if you don't call Save then WP7 will corrupt your memory! 
     Settings.Save(); 
    } 

    public static bool TryGetSetting<TValue>(string settingName, out TValue value) 
    {    
     if (Settings.Contains(settingName)) 
     { 
      value = (TValue)Settings[settingName]; 
      return true; 
     } 

     value = default(TValue); 
     return false; 
    } 
} 
+1

Nếu bạn không gọi Settings.Save(); trong StoreSetting, mã của bạn gây ra một ngoại lệ khi ứng dụng WP7 thoát –

6

IsolatedStorageSettings.ApplicationSettings làm việc mặc dù tôi chỉ đăng tải về một số tùy chọn khác có sẵn bao gồm:

  • App.config w/block cấu hình điện thoại di động
  • điển App.xaml/tài nguyên
  • T4 các cài đặt được tạo lớp
  • Tạo sự kiện
  • Bảo vệ cài đặt "riêng tư"

tại http://www.geoffhudik.com/tech/2012/1/26/windows-phone-app-config-settings-thinking-outside-the-box.html

+0

Công việc tuyệt vời, cảm ơn! – Daniel

0

Hãy xem Northern Lights WP7 toolkit (trong NuGet), đặc biệt là tại PersistentVariables. Nếu bạn chỉ muốn lưu các biến làm cài đặt, điều này sẽ hiệu quả và Northern Lights cũng có nhiều thay đổi hơn.

http://northernlights.codeplex.com/documentation