我正在Silverlight中开发一个典型的数据输入系统。我的大多数屏幕基本上都是查看/编辑屏幕。我使用的是DDD方法,并且所有内容都有域对象。一个典型的场景类似于具有用户编辑和输入页面的User对象。
在对几种类型的对象进行了处理之后,我看到了一个模式。我正在创建一个只绑定到域对象的视图。每个视图都有类似的外观,有一个标题(绑定到域对象),以及一些基于视图数据类型的编辑控件(bool的复选框、大量文本框等)。
所以我在想,与其为每个类创建一个单独的视图,不如创建某种通用的view类,它可以根据DataContext中的对象自动生成表单。我可以以某种方式告诉View字段的放置顺序(即,名字/姓氏在顶部,然后是电话,然后是地址等),还可以为字段提供一些属性(例如将名字/姓氏设置为以粗体或其他形式显示的标题)。对我来说,这听起来和你用CSS做的类似。然后要更改整个应用程序的外观,我只需要更改视图或视图的模板。
以下是我的问题:
这种方法有意义吗?有效吗?
已经有这样的东西了吗?
如果没有,最好的方法是什么?