正在编写属性聚合器
本文关键字:属性 | 更新日期: 2023-09-27 18:16:46
背景
在花了很多时间研究之后,我还没有找到任何将多个对象分配给PropertyGrid
(Extended WPF Toolkit(的方法。我的下一个想法是创建我自己的聚合器类,该类接收选定的对象,并向外部世界公开它们的公共属性。然后,我将把这个类(的一个实例(分配给PropertyGrid
。用户在PropertyGrid
中所做的任何更改都将由聚合器类传递给选定的对象。
问题
框架中有什么东西(特别是反射(可以帮助我完成这项任务吗?我的域中的所有对象都继承自共同的祖先,并添加自己的新属性(或覆盖祖先版本(。类层次结构有多个层次。
更新
对于其他和我处境相同的人来说,我终于能够解决PropertyGrid
问题。有关解决方案,请参阅我的另一篇文章。
希望我能正确解释您想要的内容。
其中一个想法是使用T4ToolBox通过脚本生成预编译类(也是模板文件中的C#代码(。
- 定义要聚合到xml中的对象
- 然后,您可以使用反射循环遍历对象中的所有公共方法/属性(基于xml(,以找到一组通用方法
- 生成一个接口和(如果需要的话(相应的具体类
- 之后的一项手动工作是通过实现新生成的接口来更改原始对象