Silverlight MVVM独立存储

时间:2009-04-03 16:15:47

标签: silverlight mvvm isolatedstorage

我尝试在我的ViewModel中使用IsolatedStorageSettings,但这些不会在浏览器刷新期间保留(F5)。

例如

;

//look in the IsoStore for remembered details


    IsRememberMe = IsolatedStorageSettings.ApplicationSettings.Contains(Constants.LOGIN_REMEMBERED_USERNAME);

        if (IsRememberMe)
        {
            UserName = IsolatedStorageSettings.ApplicationSettings[Constants.LOGIN_REMEMBERED_USERNAME] as string;
        }

我是否需要在我的MVVM ViewModel中做一些不同的事情?

修改 值得注意的是,此代码位于引用的项目中 - 因此最终是一个单独的XAP文件到浏览器中加载的父XAP - 可能会导致每次刷新时丢失设置?

谢谢, 标记

2 个答案:

答案 0 :(得分:1)

嗯...

在我的情况下,我每次部署新版本的应用程序时都会遇到使用应用程序隔离存储的问题(例如,更改按钮的颜色,我丢失了我的Iso存储: - ()。

我转而使用SiteStorage而不是应用程序级别,它起作用了:

http://www.tipsdotnet.com/TechBlog.aspx?PageIndex=0&BLID=13

另一方面,我对Iso Storage所做的是对文件夹和文件执行CRUD,不确定是否有其他类型的设置。

HTH      布劳略

答案 1 :(得分:0)

我认为这里发生了两件事之一。您的绑定在两个方向上都无法正常工作,因此永远不会遇到持久性或检索代码。或者,您将这些值存储在来自两个不同应用程序的应用程序级别iso存储中(或者那种效果)。确保您的代码在两种情况下都被命中(存储和检索),并确保您从同一个地方访问iso存储(如果您正在使用应用程序级别隔离,从同一应用程序存储/检索等)。