2010-10-13 138 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到類,以及使用屬性網格的形式查看。