C#中的自动GUI生成

10
有没有库或自动化方式可以从任意结构中生成C#的GUI界面?
例如,如果我有一个类层次结构,我可以通过添加 [XmlAttribute("depth")][XmlElement("node")] 等属性来将其表示为XML,并将其传递给XML序列化器。我能否使用不同的注释然后将其发送到某个GUI构建类以生成表单?
另一个例子是对于那些使用Java的BlueJ用户,它提供了在GUI环境中访问类及其成员的功能(尽管它可以访问源代码)。
5个回答

3

这就是为什么XAML存在的原因。XAML是用于GUI的XML标记语言,由XAML解析器解析为UI对象,如Window、Button、Image等。

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


2

是的,就像那样。我只是举XML作为例子,在我的应用程序中目前并没有使用它,但作为中间步骤可能是可行的。 - Daniel

2

虽然有些简陋,但有时确实能够发挥作用。使用PropertyGrid查看/编辑您的类。因此,您可以通过序列化从XML转换为类,并在表单中使用属性网格进行查看。


1

我没有使用过它,但有一个.Net裸对象的端口,关于它在这篇InfoQ文章这个播客中有介绍。我认为这是你所谈论的最佳匹配。我编写了自己的代码生成器,可以从XML规范创建XAML和C#,但我认为你需要一个动态解决方案。


0
在我之前的一个项目中,我们尝试过类似的方法,但最终发现它太过限制性,于是我们选择了手动构建表单。相比编写验证规则和呈现逻辑,将控件放在表单上并不需要太长时间,而且使用常规表单编写这两个方面的代码要容易得多。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接