2010-07-19 3 views
3

Мне нужно создать утилиту, в которой пользователь может создать свой собственный экран ввода данных. Пользователь должен иметь возможность перетаскивать обычные элементы пользовательского интерфейса (TextBox, RadioButton, CheckBox, ListBox, ComboBox и Image) в любой контейнер и разместить их в соответствии с их потребностями. Пользователь должен иметь возможность изменять фон и значения по умолчанию (для TextBox, ComboBox и т. Д.). Должна быть возможность сохранить созданный экран в XML/XAML, который будет использоваться для создания динамического пользовательского интерфейса.Как создать UI Designer утилиту?

Приветствуются любые предложения о том, как подойти к этому сценарию.

ответ

2

Я также работаю над аналогичным проектом, и мы использовали Canvas в качестве поверхности дизайнера; как это было сделано в этой статье CodeProject -

WPF Diagram Designer - Часть 4 http://www.codeproject.com/KB/WPF/WPFDiagramDesigner_Part4.aspx

еще один проект, основанный на этом можно найти на codeplex-

http://simulo.codeplex.com/

3

То, о чем вы просите, может быть выполнено с помощью .Net DesignSurface, который обеспечивает инфраструктуру времени разработки во время выполнения. Мы уже сделали это для WindowsForms, и мы можем разрабатывать оконную форму во время выполнения, создавать XML из созданной формы, создавать и запускать экземпляр созданной формы во время выполнения.

Удивительно и, к сожалению, недостаточно ресурсов в Интернете при использовании DesignSurface. Я наткнулся на this Article on code-Project, который действительно может начать работать в правильном направлении [Это было лучше всего, что я когда-либо встречал на DesignSurface]. В нашем случае мы унаследовали от DesignSurface и реализовали нашу визуальную студию, такую ​​как приложение для разработки форм времени исполнения, и оно отлично работает.

Вы можете обратиться к аналогичному вопросу, который я задал в прошлом here.

+0

DesignSurface выглядит неплохо, но я не уверен в его внешнем виде. Есть ли другая версия для WPF? – akjoshi

+0

Мне еще не удалось выяснить, использует ли дизайнер-конструктор WPF ту же инфраструктуру Designtime, что и в формах classic-wiondows, но я точно знаю, что дизайнер Workflow использует ту же инфраструктуру и конструктор рабочих процессов поверх WorkFlowDesignSurface, что наследуется от DesignSurface. –

Смежные вопросы