2010-10-13 115 views
10

是否有任何库或自动方式在任意结构中生成C#中的GUI?在c中自动生成gui代码#

例如,如果我有一个类层次结构,我可以通过添加[XmlAttribute("depth")][XmlElement("node")]等属性并将它传递给XML序列化程序来表达它。我可以使用不同的注释,然后将它发送给某些GUI构建类来获取表单吗?

作为使用BlueJ for java的人的另一个例子,它提供了在gui环境中访问类及其成员的权限(尽管它可以访问源代码)。

回答

2

是这样的吗?

使用XML动态生成GUI元素
http://www.codeproject.com/KB/cs/aal-5a.aspx

+0

是的,就像那样。我以XML为例,目前我没有在我的应用程序中使用它,但用作中间步骤,这可能是可行的。 – Daniel 2010-10-13 22:01:47

1

我没有用它咬还有的Naked Objects for .Net端口,在this InfoQ articlethis podcast写。我认为这是你所谈论的最佳匹配。我已经编写了自己的代码生成器来从XML规范创建XAML和C#,但我认为您需要动态解决方案。

0

我在之前的一个项目中尝试过类似的东西,但最后它太过于限制,我们只用手工构建表格。与编码验证规则和表示逻辑相比,将控件放置在窗体上并不需要太长时间,这两种方法都比常规窗体更容易编码。

3

这就是XAML存在的原因。 XAML是用于GUI的XML标记语言,它由XAML解析器解析为UI对象(如窗口,按钮,图像等)。

XAML是WPF(Windows Presentation Foundation)和Silverlight使用的XML GUI语法。

2

这很粗糙,但有时它确实是工作。使用PropertyGrid来查看/编辑你的课程。所以你通过序列化从XML到类,以及使用属性网格的形式查看。