我正在为客户开发WPF应用程序。应用程序需要在生产运行开始时提示用户填充许多字段。提示用户输入的数据取决于与生产运行相关联的产品类型。因此,例如,产品A可能要求用户输入到期号码,批号,而产品B可能要求用户仅输入生产日期。
我需要动态创建UI并显示字段名称,输入控件(文本框,列表框,复选框等)。
系统需要灵活,并且需要一种允许用户“创建”动态UI布局的机制。
我正在寻找各种选项,例如:
XML声明用户想要的ui结构。然后,应用程序将处理XML并为各种XML元素创建适当的ui控件
自定义DSL,允许用户输入以下内容:
“为字段LOT NUMBER创建文本框”
与xml方法一样,应用程序将保存上述内容并将其分配给产品并将其保存在数据库中。在生产运行开始期间,应用程序动态创建UI。
最初,用户将手动编辑这些文件并将其分配给产品。最终我们计划有一个图形前端,用于设计具有拖放支持的UI。
我对DSL没有多少经验。只是想知道上述是否适用于DSL,或者我是否应采取完全不同的方法。
答案 0 :(得分:1)
Microsoft提供Visualization and Modeling SDK,以前称为DSL Toolkit。
这包括用于创建DSL的图形设计器。设计师的输出是
例如,您将为特定产品类型创建DSL实例,这可能表示产品类型需要输入部件号,颜色和到期日期。保存模型实例时,它会自动生成用户控件的.xaml文件,其中包含部件号的文本框,颜色的颜色选择器和到期日期的日期选择器。