Автоматическое создание gui в С#

Есть ли библиотека или автоматический способ создания GUI в С# из произвольной структуры?

Например, если у меня есть иерархия классов, я могу выразить его в XML, добавив такие атрибуты, как [XmlAttribute("depth")] или [XmlElement("node")], и передав его в XML-сериализатор. Могу ли я использовать разные аннотации, а затем отправить его в какой-либо конструкторский класс GUI для создания формы?

В качестве другого примера для тех, кто использовал BlueJ для java, он предоставляет доступ к классам и их членам в среде gui (хотя у него есть доступ к источнику).

Ответ 1

Вот почему XAML существует. XAML - это язык разметки XML для графических интерфейсов, и он анализируется с помощью анализатора XAML в объекты пользовательского интерфейса, такие как Window, Button, Image и т.д.

XAML - синтаксис XML GUI, используемый WPF (Windows Presentation Foundation) и Silverlight.

Ответ 2

Что-то вроде этого?

Использование XML для динамического создания элементов графического интерфейса
http://www.codeproject.com/KB/cs/aal-5a.aspx

Ответ 3

Это грубо, но иногда это делает работу. Используйте PropertyGrid для просмотра/редактирования ваших классов. Таким образом, вы переходите от XML к классам через сериализацию и представление в форме с использованием сетки свойств.

Ответ 4

Я не использовал его там, где был Голые объекты для. Net, написанные в эта статья InfoQ и этот подкаст. Я думаю, что лучший матч за то, о чем вы говорите. Я написал собственный генератор кода для создания XAML и С# из спецификации XML, но я думаю, что вам нужно динамическое решение.

Ответ 5

Мы пробовали что-то подобное в одном из моих предыдущих проектов, но в конце концов это слишком ограничительно, и мы пошли с ручными строками. Поведение элементов управления в формах не займет много времени по сравнению с кодированием правил проверки и логики представления, которые намного проще кодировать с помощью обычных форм.