我正在开发一些软件,可以根据从某些设备收集的事件数据生成报告。数据存储在数据库中。我希望用户能够模板化软件生成的报告的输出文件名。因此,当用户决定生成报告时,他们配置的输出文件名模板将应用于从数据库检索到的数据。
例如,假设每个报告都有以下与之关联的数据模板元素:
<Name>
<Timestamp>
<Location>
<EventType>
因此,用户可以按任意顺序选择这些模板项中的任何一个,以确定输出文件名的格式。如果他们选择了这样的东西:
<Name> <EventType> <Location> <Timestamp>.pdf
假设这是数据库中当前报告的数据:
Name = "MyReport"
EventType = "Error"
Location = "Park Ave"
Timestamp = 1-30-2013 11.00.00 AM
生成实际报告时,报告文件名如下所示:
"MyReport Error Park Ave 1-30-2013 11.00.00 AM.pdf"
我正在努力想出一种优雅的方式来提供自定义格式元素,如<Name>, <Location>
etc... 并从数据库中的数据或可能的实体对象中构建字符串。我查看了 ICustomFormatter 和 IFormatProvider,但我不确定它们是否完全适合我正在做的事情。
我正在使用 WPF 4.5,我的数据将由实体框架驱动。
任何想法,将不胜感激!