65.9K
CodeProject 正在变化。 阅读更多。
Home

程序设置的存储和检索

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.64/5 (4投票s)

2015年9月5日

CPOL

2分钟阅读

viewsIcon

10419

一个灵活的框架,用于在启动和关闭时检索和存储应用程序设置。

引言

我使用 .NET 和其他框架的不同设置管理器已经有一段时间了,并且意识到它们都有各自的优点,但不知何故都缺少对我来说重要的一些东西。 .NET 设置模型似乎在易用性方面还不错,但通常会产生与高级数据相关的问题。 其他设置框架似乎也能解决问题,但它们都缺少高级功能,例如

  • 与 PRISM 或 Caliburn 等框架的清晰且简单的集成,以及
  • 根据实际加载的模块进行运行时配置。

因此,我决定自己编写一个 SettingsModel 并将其集成到一个 WPF 演示应用程序中,以展示其功能。

A sample demo ui with settings options

https://settingsmodel.codeplex.com/

如果有什么有趣的地方,那么该演示项目可能代表一个现代 UI 风格应用程序的有趣项目模板(https://github.com/firstfloorsoftware/mui),因为它不仅包含这些样式,而且还能够存储和检索更改的设置。

因此,这个功能齐全的现代 UI 模板包含从模型、视图模型到视图的完整所需代码(而普通的 MUI 模板仅包含视图和视图模型部分)。

该模板包含每个应用程序当今都应包含的完全正常的核心功能

  • 应用程序重新启动时重新加载文件
  • 字体大小设置
  • 浅色或黑色应用程序皮肤和强调色设置
  • 文件夹书签
  • 图标大小设置
  • 一个关于页面,其中包含有关已加载模块的信息

背景

该项目使用 DataSetDataTable 类来读取和写入任意 .NET 值和类型到 XML 中。 这意味着你不再专注于 XML 的实际文件格式,而是专注于你最终要存储和检索的数据的内容和相关工作流程。

该模型可以通过类似于数据库接口的查询 API 的 API 访问,因为每个存储的值都可以通过其路径标识。 这意味着设置的部分可以在运行时注册,以反映应用程序的当前配置设置。 因此,该框架可以轻松地为产品的查看器和高级用户应用程序生成产品,其中不同产品风味共享相似的设置。

Using the Code

代码用法在参考的 Codeplex 网站上演示:

该网站上的文档包含更详细的描述、软件设计模型、更多屏幕截图和演示应用程序。 请告诉我你的想法,以及你是否发现缺少了什么……

© . All rights reserved.