关于WPF,需要关于数据源和数据绑定的建议

本文关键字:数据绑定 数据源 WPF 关于 | 更新日期: 2023-09-27 17:57:30

我对WPF并不陌生,但我还是个新手。比方说,我想构建一个应用程序,将有关个人的数据存储在一个唯一且独立的文件中,而不是存储在数据库中,有点像记事本。我的应用程序应该做以下事情。

  1. 它应该能够将一个人的信息保存在一个唯一的文件中
  2. 它应该能够打开用户指定的文件并自动填写属性/表单

我该如何做到这一点?XML绑定是实现这一点的唯一方法吗?或者还有其他选择吗?我的意思是,如果我使用XML绑定,我可以编写代码,使用户可以打开和保存不同的XML文件,但我也了解到,从体系结构的角度来看,应该避免绑定到XML。那么,我的问题还有其他解决方案吗?

关于WPF,需要关于数据源和数据绑定的建议

我认为,如果您尝试使用Reading并将内容写入CSV(逗号分隔值)文件(如果不打算实现数据库),那么您可以实现您想要的。

此外,如果您计划为每个用户提供一个单独的文件,这根本不是一个好主意。

这里不可能解释所有的事情。因此,请查看下面发布的链接,其中详细解释了如何实现对csv文件的读写。

这个例子是从这里发布的,为了获得完整的细节,请查看下面的链接阅读和写入csv文件

显然,您的要求是将人员详细信息保存到一个唯一的文件中。如果您真的想使用这种方法,一个选项就是使用XMLSerialization。

您可以创建用于数据绑定的普通人对象。

当您想将数据保存到特定人员的文件中时,您可以序列化对象并使用适当的名称(人员id左右)保存文件

当您想从文件中获取Person数据时,可以将其直接反序列化为Person对象。

//  Serialize and write to file
Person person = myPerson;
var serializer = new XmlSerializer(person.GetType());
using (var writer = XmlWriter.Create("person1.xml"))
{
    serializer.Serialize(writer, person);
}
//  Deserialize back to an instance
var serializer = new XmlSerializer(typeof(Person));
using (var reader = XmlReader.Create("person1.xml"))
{
    var person= (Person)serializer.Deserialize(reader);
}

用于保存用户数据,如会话和设置。有很多方法可以做到这一点。

  1. 将数据保存到txt文件。请参见此处
  2. 正在将数据保存到数据库中。请参见此处
  3. 我个人的最爱,保存到Settings文件。请参见此处

这些只是您可以在本地保存数据的一些方法。

请注意,我提到了将数据保存到数据库,因为这是一件不应该完全破坏的事情,尤其是如果您将保存大量的数据。

为了更直接地回答您的问题,我建议您选择选项3。对于相对较小的数据集,如用户信息和用户设置,最好将它们保存到内置的Settings文件中。这太容易了。

祝你好运!