是否有任何庫或自動方式在任意結構中生成C#中的GUI?在c中自動生成gui代碼#
例如,如果我有一個類層次結構,我可以通過添加[XmlAttribute("depth")]
或[XmlElement("node")]
等屬性並將它傳遞給XML序列化程序來表達它。我可以使用不同的註釋,然後將它發送給某些GUI構建類來獲取表單嗎?
作爲使用BlueJ for java的人的另一個例子,它提供了在gui環境中訪問類及其成員的權限(儘管它可以訪問源代碼)。
是否有任何庫或自動方式在任意結構中生成C#中的GUI?在c中自動生成gui代碼#
例如,如果我有一個類層次結構,我可以通過添加[XmlAttribute("depth")]
或[XmlElement("node")]
等屬性並將它傳遞給XML序列化程序來表達它。我可以使用不同的註釋,然後將它發送給某些GUI構建類來獲取表單嗎?
作爲使用BlueJ for java的人的另一個例子,它提供了在gui環境中訪問類及其成員的權限(儘管它可以訪問源代碼)。
是這樣的嗎?
使用XML動態生成GUI元素
http://www.codeproject.com/KB/cs/aal-5a.aspx
我沒有用它咬還有的Naked Objects for .Net端口,在this InfoQ article和this podcast寫。我認爲這是你所談論的最佳匹配。我已經編寫了自己的代碼生成器來從XML規範創建XAML和C#,但我認爲您需要動態解決方案。
我在之前的一個項目中嘗試過類似的東西,但最後它太過於限制,我們只用手工構建表格。與編碼驗證規則和表示邏輯相比,將控件放置在窗體上並不需要太長時間,這兩種方法都比常規窗體更容易編碼。
這就是XAML存在的原因。 XAML是用於GUI的XML標記語言,它由XAML解析器解析爲UI對象(如窗口,按鈕,圖像等)。
XAML是WPF(Windows Presentation Foundation)和Silverlight使用的XML GUI語法。
這很粗糙,但有時它確實是工作。使用PropertyGrid
來查看/編輯你的課程。所以你通過序列化從XML到類,以及使用屬性網格的形式查看。
是的,就像那樣。我以XML爲例,目前我沒有在我的應用程序中使用它,但用作中間步驟,這可能是可行的。 – Daniel 2010-10-13 22:01:47