您建议在WPF窗口(桌面)应用程序中保存用户设置的方法是什么?请注意,其 idea 是用户可以在运行时更改其设置,然后可以关闭应用程序,然后在稍后启动应用程序时,应用程序将使用当前设置.有效地,那么它将看起来好像应用程序设置没有改变.

Q1-数据库还是其他方法?我确实有一个sqlite数据库,我无论如何都会使用它,因此在数据库中使用一个表会和任何方法一样好吗?

问题2:如果数据库:什么样的数据库表设计?一个表中包含不同数据类型的列(例如stringlongDateTime等),还是一个表中包含一个字符串,您必须对该值进行序列化和反序列化?我认为第一个会更容易,如果没有太多的设置,开销也不会太大?

问题3:应用程序设置可以用于此目的吗?如果是的话,在这里实现持久性是否需要任何特殊任务?在这种情况下,在应用程序设置设计器中使用"默认"值会发生什么情况?默认设置会覆盖在运行应用程序之间保存的任何设置吗?(或者不需要使用默认值)

推荐答案

为此,您可以使用Application Settings,考虑到读取和写入设置所花费的时间(特别是在使用Web服务的情况下),使用数据库不是最佳 Select .

这里有几个链接解释了如何实现这一点,以及如何在WPF中使用它们-

User Settings in WPF

Quick WPF Tip: How to bind to WPF application resources and settings?

A Configurable Window for WPF

.net相关问答推荐

条带连接支付—引发异常

仅使用 .NET GetBytes 方法转换有效字节而不创建问号

查询 MongoDb 中嵌入式文档中的一个字段,该字段抛出调用运算符的左侧必须是对持久属性的直接访问

IIS 发布 ASP.NET Core 应用程序而不关闭 IIS 网站

在接口内部声明 IEnumerable 而在具体类中声明 IList

使属性只能通过绑定的 Editor(component) 编辑

有什么方法可以使用 .NET 应用程序使用 git 吗?

我可以从 .NET/C# 获取其他进程的命令行参数吗?

使用泛型装箱和拆箱

如何删除只读文件?

如何以编程方式 Select ListView 中的项目?

如何在 WPF 中创建/制作圆角按钮?

C# 属性实际上是方法吗?

如何在 C# 中仅设置 DateTime 变量的时间部分

双倍的? = 双倍? + 双倍?

从 C# 中的字符串中删除最后一个字符.优雅的方式?

如何从文件中删除单个属性(例如只读)?

如何在 C# 中使用迭代器反向读取文本文件

检测到包降级警告(dotnet core,vs 2017)

Dictionary.Add 与 Dictionary[key]=value 的区别