2010-05-07 79 views
0

寻找创建应用程序文件的指导原则。例如,我有一个将用户输入存储到文件(Textbox,DataGrid,ListBox等)的应用程序。我正在寻找WPF-C#实现。应用程序文件(真实世界示例)

我想有以下几点:

  1. 如果用户编辑一个任何形式(文本框等)的星号显示在窗口的标题。
  2. 当窗口关闭并且星号仍然存在时,会出现一个提示“您是否想保存更改”。如果再保存星号消失。

真正的应用程序使用什么来创建他们的应用程序文件? (注:我不是在寻找数据库保存或SQL)

我只是寻找提示和指导。谢谢。

回答

0

使用IsDirty模式,这是您在TextChanged事件中将每个字段翻转为true的布尔属性的位置。这可以用来确定何时显示星号。他们点击保存后,清除每个字段的IsDirty属性。

绑定表单一类对象,表示要保存的数据,序列化对象上保存文件。

1

我过去接触过这种方法的一种方法是只设置一个设置/应用程序对象。

使用表单级别变量来确定是否发生了某些变化。

如果已经存在,则提示用户。

如果他们单击是,然后序列化您的设置/应用程序对象。如果您希望它是人类可读/可编辑的,那么使用Xml序列化程序,如果您不关心它,请使用二进制序列化程序。

0

实现您的目标有很多选择,最常见的解决方案将包括序列化您的类并将它们存储到磁盘或将您的类包含的数据导出到常规文本文档(如CSV)中。

如果你想要像CSV类型的可用文件的文件,我会建议看看FileHelpers。使用数据库记住的另一件事与将文件存储到磁盘相同。这就是数据库的工作原理(除非它在内存数据库中),它只是一种不同类型的文件。

0

标记一个标记以通知已对文本框执行了更改。更好的是,自定义您的文本框,并将标志设置为在文本框文本更改时内部设置的属性。

您可以通过几种方式来完成。其中一些是 -

  1. Application.Idle事件处理程序 - 检查标志。如果脏/真,将*附加到表单标题的标题。您可能想要在所有受监视的文本框上使用某些模式来执行此操作。
  2. 设计一个课程专门完成这项任务并跟踪它。

还有其他的方法。当我记得他们时,我会编辑答案。