有关构建WPF表单以修改userSettings的建议

时间:2019-01-09 18:32:41

标签: c# xml wpf xaml settings

我对C#完全陌生,得到了一个任务,该任务建立了一个WPF表单,以使用Visual Studio和WPF修改现有C#程序中的设置。

我有很多目标:

  1. 获取所有设置名称的列表。
  2. 检索所有用户属性。
  3. 为表单的每个设置添加一行,并允许用户恢复原始设置,使用当前设置或将其修改为新值。
  4. 确保用户输入的类型正确。
  5. 在TextBox和该行中的值之间绑定,不确定什么是发送详细信息的最佳方法。您建议将什么对象绑定到xaml?包含属性行的列表?还是分别绑定每一行?

我认为我需要访问3的App.config文件,到目前为止没有成功。我想获得有关体系结构的建议,因为我是VS,C#和WPF的新手。

1 个答案:

答案 0 :(得分:0)

我认为这不是适合刚接触wpf的人的任务,更不用说c#了。 即使是经验丰富的WPF开发人员,也可能会在此任务中发现一些棘手的问题。

app.config将与您的exe位于同一文件夹中。如果在程序文件中,则您将无法编辑和保存。除非您的用户赢得7或更早版本。

因此,用户设置通常会存储在appdata中。由于预期用户可能希望更改它们。 它们进入user.config文件。我系统中一个人的位置是:

C:\ Users \ Andrew \ AppData \ Local \ MapEditor \ MapEditor.exe_Url_aszfdqs5110y44xmg0kfuuqbatf5la5a \ 1.0.0.0 \ user.config

我是计算机上的用户Andrew,这是MapEditor.exe的用户设置。

文件本身是xml。

在那儿我看到         

里面有很多东西。

我不会尝试直接编辑xml。 这是您发现并不容易的第一步。 因为您需要翻译xml。 “所有用户属性。” 您大概知道它们是什么。 因为用户不能只是添加它们。 它们需要在应用中定义。

我会挑选出您想要它们更改的部分并将数据复制到视图模型。或由父视图模型呈现的视图模型的可观察集合。 作为可观察的集合可能最简单。 然后,每种属性类型可以具有不同的viewmodel类。 他们用数字输入一个字符串,然后它将无法传输回视图模型,并且您可以捕获validation.error,这些错误将冒泡。 要保存,请将视图模型转换回xml并保存。