- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将此类序列化和反序列化为 Windows Phone ApplicationSettings,但由于某种原因,只有 Items
被保留,而不是 Title
或 LastChanged
属性。任何关于为什么的想法都会受到赞赏!
类:
public class VehicleCollection : ObservableCollection<Vehicle>
{
public string Title { get; set; }
public DateTime LastChanged { get; set; }
public bool HasNoItems { get { return Items.Count == 0; } }
public VehicleCollection() { }
public VehicleCollection(string title, DateTime lastChanged)
{
Title = title;
LastChanged = lastChanged;
}
protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs e)
{
base.OnCollectionChanged(e);
OnPropertyChanged(new PropertyChangedEventArgs("HasNoItems"));
}
}
坚持逻辑:
public static bool SavePersistent(string key, object value)
{
if (null == value)
return false;
var store = IsolatedStorageSettings.ApplicationSettings;
if (store.Contains(key))
store[key] = value;
else
store.Add(key, value);
store.Save();
return true;
}
public static T LoadPersistent<T>(string key)
{
var store = IsolatedStorageSettings.ApplicationSettings;
if (!store.Contains(key))
return default(T);
return (T)store[key];
}
最佳答案
我最好的猜测是,问题是由于您从 ObservableCollection 继承了 VehicleCollection 类,并且序列化和反序列化中有一段代码,如“如果对象是 ObservableCollection”。我已经尝试了您的示例解决方案,成员的 getter 根本没有在序列化时被调用,setter 也没有在反序列化时被调用。
解决方案是像这样重构您的 VehicleCollection 类:
public class VehicleCollection
{
public string Title { get; set; }
public DateTime LastChanged { get; set; }
public bool HasNoItems { get { return Items.Count == 0; } }
public VehicleCollection()
{
Items = new ObservableCollection<Vehicle>()
}
public VehicleCollection(string title, DateTime lastChanged) :this()
{
Title = title;
LastChanged = lastChanged;
}
public ObservableCollection<Vehicle> Items
}
当然,坏事是 VehicleCollection 需要实现 INotitifyPropertyChanged 才能触发 HasNoItems。无论如何 - 如果我在您的示例解决方案中以这种方式更改它,它就会起作用。
关于serialization - IsolatedStorageSettings.ApplicationSettings 不保留所有属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17013848/
我的应用程序在开发 PC 上运行良好,但是当我在客户端 PC 上启动它时,出现异常:“配置系统无法初始化”,innerException msg =“无法识别的配置部分 applicationSett
我试图在手机 ApplicationSettings 中保存两个对象列表,但我遇到了一个奇怪的问题(但这可能是我在某处犯了一个愚蠢的错误)。 如果我只保存其中一个列表,它会按预期工作 - 它会保存它,
我正在尝试将此类序列化和反序列化为 Windows Phone ApplicationSettings,但由于某种原因,只有 Items 被保留,而不是 Title 或 LastChanged 属性。
我正在尝试从 app.config 获取我的应用程序中的服务值(value)。我必须将它发送到显示 URL 的应用程序。我在此应用程序中使用的 Web 服务也使用它,因此无法将其移动到 appSett
这个问题在这里已经有了答案: Pros and cons of AppSettings vs applicationSettings (.NET app.config / Web.config) (
我有一个被父(执行)程序集引用的 dll。在父程序集的 app.config 的 ApplicationSettings 部分中,我有一些可以以正常智能感知方式访问的设置(例如 Properties.
我正在使用流畅的 NHibernate。 我有一个包含几个特定键(applicationSettings 和 userSettings)的 app.config 文件。 nhibernate 似乎不喜
我正在阅读有关 applicationSettings 的文章和论坛帖子将近一周了。 在几乎每个线程中,似乎都有人正确地指出,类库在部署时不能有配置文件,并且它们在设计时配置的 application
我有针对多个环境的 web.config 转换。在配置文件中,我有一个 applicationSettings 部分,其中包含多个设置和值对。 我尝试过根据用于匹配名称的语法并更改连接字符串以匹配设置
这个问题在这里已经有了答案: Pros and cons of AppSettings vs applicationSettings (.NET app.config / Web.config) (
我正在使用 .NET 4.0,我想使用 app.config 文件来存储相同的参数设置。我执行以下操作。我使用项目属性中的 Settings 选项卡来创建我的参数。 这会将信息添加到 app.conf
我在 app.config 中存储了我的应用程序配置,通过 Visual Studio 我在项目属性对话框的设置选项卡上创建了一些应用程序 key ,然后我在应用程序级别设置了这个 key (不是在用
在 asp.net web.config 文件中,您可以执行 它将在 local.appSettings.config 中查找对 foo/bar 设置的任何覆盖。 application
我正在编写一个 WP7 (Mango) 应用程序。我将值存储在 WP7isolatedStorageSettings.ApplicationSettings 中,然后调用 IsolatedStorag
是否可以访问 applicationSettings 中的值?部分加载 app.config 文件? 我找到了一个例子 How do I retrieve appSettings ,但我不知道如何访问
我可以强制 dll 重新加载其配置吗? 在我的 VB 库中,我使用此配置: This is an entry 从代码中访问“M
我有一个问题,我对 ApplicationSettings 所做的更改似乎没有在我的 AudioPlayerAgents ApplicationSettings 中更新,这应该是相同的?! 我的程序是
这是一个有趣的奇怪行为(阅读:错误)。我的简单测试应用程序中有以下两种方法: private void Save() { var settings = Isolated
我正在为我们构建的 Web 应用程序创 build 置。不,我有一个配置文件,看起来像这样,其中包含一个“appSettings”部分和一个“applicationSettings”部分:
在 TeamCity 中转换 web.config 文件时出现以下错误。它发生在元素上, . No element in the source document matches '/configura
我是一名优秀的程序员,十分优秀!