Автоматическая генерация графического интерфейса в c # - PullRequest
10 голосов
/ 13 октября 2010

Существует ли какая-либо библиотека или автоматический способ создания графического интерфейса в C # из произвольной структуры?

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

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

Ответы [ 5 ]

3 голосов
/ 15 октября 2010

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

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

2 голосов
/ 15 октября 2010

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

2 голосов
/ 13 октября 2010

Как-то так?

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

1 голос
/ 13 октября 2010

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

0 голосов
/ 15 октября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...