2014-04-16 20 views
21

Tôi đã tự hỏi làm thế nào bạn đối phó với IsolatedStorageSettings trong Windows Phone 8.1 SDK. Ví dụ:Windows Phone 8.1 - Bộ nhớ Isolated

IsolatedStorageSettings.ApplicationSettings.Contains("LocationConsent") 

Tính năng này hoạt động như thế nào trong 8.1? Như trong, làm thế nào để viết tuyên bố này mà không nhận được lỗi ngữ cảnh. Tôi cảm thấy như nó không được chấp nhận hoặc một cái gì đó bởi vì nó không giải quyết cho một không gian tên được biết đến hoặc bất cứ điều gì.

Tôi đang làm việc với bản đồ cho dự án hiện tại của mình và chuyển nó sang 8.1 cho tôi một số rắc rối về cú pháp. Tôi đã thử tìm kiếm nó nhưng tôi nghĩ rằng nó quá sớm cho tài liệu tôi đoán vì MSDN thậm chí không nói bất cứ điều gì về nó, trừ khi tôi bị mất nó một cách tình cờ. Bất kỳ trợ giúp được đánh giá cao.

+0

Bạn còn mong đợi gì khác để nói với bạn bên cạnh phương thức này trả về boolean? http://msdn.microsoft.com/en-us/library/cc614991(v=vs.95).aspx – Aybe

+1

Tôi tự hỏi làm thế nào để sử dụng cùng một tuyên bố trong SDK mới mà không nhận được lỗi. Cái hiện tại không giải quyết cho một không gian tên, vì vậy nó không được chấp nhận hoặc một cái gì đó, giống như họ đã thay đổi nó. – Failsafe

+0

Tôi vừa thử và nó hoạt động tốt. Nó nằm trong không gian tên System.IO.IsolatedStorage. – Aybe

Trả lời

45

Sử dụng các lớp trong không gian tên Windows.Storage. Chúng là tính năng mới cho Universal Apps. Nếu bạn muốn dữ liệu luôn ở trong thử cục bộ Windows.Storage.ApplicationData.Current.LocalSettings. Tuy nhiên, nếu bạn không nhớ chúng được lưu trữ trong cài đặt chuyển vùng (chúng sẽ có sẵn cho ứng dụng của bạn trong Windows 8.1 trong trường hợp bạn sử dụng Universal Apps), bạn có thể sử dụng Windows.Storage.ApplicationData.Current.RoamingSettings.

var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; 
if(localSettings.Values.ContainsKey("LocationConsent")) 
    DoSomething(localSettings.Values["LocationConsent"]) 

hoặc

var roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings; 
if(roamingSettings.Values.ContainsKey("LocationConsent")) 
    DoSomething(roamingSettings.Values["LocationConsent"]) 

này nên giải quyết vấn đề của bạn. Tôi đã viết điều này từ đỉnh đầu của tôi, hy vọng nó sẽ làm việc cho bạn.

+0

vì vậy không cần phải lưu dữ liệu vào bộ nhớ? như tôi đã sử dụng trong cửa sổ ứng dụng 8 (ví dụ: roamingSettings.save())? –

+1

bạn thực sự cần: ApplicationData.Current.RoamingSettings.SaveSettingValue ("key", "value"); – LPains

+0

Tôi không tìm thấy SaveSettingsValue() trong mã của tôi, nó cho tôi một lỗi. –

Các vấn đề liên quan