【问题标题】:Advice about building a WPF form to modify userSettings关于构建 WPF 表单以修改 userSettings 的建议
【发布时间】:2019-06-04 14:11:27
【问题描述】:

我是 C# 的新手,我得到了一项任务,即构建一个 WPF 表单以使用 Visual Studio 和 WPF 修改现有 C# 程序中的设置。

我有很多目标:

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

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

【问题讨论】:

  • 这个问题的范围相当广泛。即使您要求“一些建议”,我认为您很可能会发现人们认为这超出了范围或不适合 SO。祝你好运。
  • 您只需要创建您的用户界面,将其绑定到一个类,然后将它们保存在 app.config 中。使用this documentation 参考如何做到这一点。
  • 我必须同意这里的其他人。对于 WPF 的初学者来说,这不是一个合适的任务。除了 WPF 之外,还有太多其他的注意事项需要您首先了解。我建议先浏览一个教程。例如:wpf-tutorial.com

标签: c# xml wpf xaml settings


【解决方案1】:

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

app.config 将与您的 exe 位于同一文件夹中。如果这是在程序文件中,那么您将无法编辑和保存。除非您的用户是 win 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。 “所有用户属性。” 你大概知道它们是什么。 因为用户不能只添加它们。 它们需要在应用程序中定义。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 2016-07-10
    相关资源
    最近更新 更多