Автономный динамический редактор форм + сериализация + локализация в C # - PullRequest
3 голосов
/ 06 февраля 2012

Я столкнулся с нетривиальной проблемой.

Мне нужен редактор, который позволит мне бросать элементы управления в Host Control (например, UserControl или FlowLayoutPanel), аналогично конструктору WinForms в Visual Studio. Мне также это нужно для поддержки локализации и сериализации из / в XML.

Редактор должен содержать набор инструментов стиля Drag & Drop с набором основных и пользовательских элементов управления.

Цель состоит в том, чтобы иметь [относительно простой] редактор, который позволит пользователю редактировать Host Control на одном конце, затем сериализовать -> передать -> десериализовать и отобразить результат Host Control на другом конце.

Я был бы очень рад использовать готовое решение, содержащее широкий набор элементов управления, вместо того, чтобы изобретать [еще] еще одно новое колесо типа:

<my_form>
    <my_label>text...</my_label>
    ... etc...
</my_form>

Редактор может быть написан на .Net 4.0, но результат должен отображаться с использованием кода .Net 2.0 (т. Е. WinForms ... я ничего не могу с этим поделать).

ОК, это немного глубже:

Мне нужно, чтобы редактор был встроен в UserControl. У меня есть предопределенный макет с несколькими элементами управления на нем. Мне нужно разрешить пользователю редактировать содержимое только одного из этих элементов управления.

Я уже изучил образец DesignHost от Micorsoft: http://support.microsoft.com/?id=813808, однако я не смог выполнить эту проблему из-за проблемы виртуального наследования (т. Е. Панели в базовой форме / UserControl блокировались во время разработки в производных элементах управления).

Есть хорошая идея, с чего начать? (Я буду рад уточнить по запросу)

1 Ответ

0 голосов
/ 22 февраля 2012

Прочитайте эти статьи:

Часть 1

Часть 2

Часть 3

Часть 4

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

Хотя дизайнер здесь демонстрируется в WPF, отображение сериализованного XML может быть выполнено в Winforms в соответствии с вашими первоначальными требованиями.

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