Сведения о вопросе

Ayrat

04:24, 29th August, 2020

Теги

Silverlight: Page vs. UserControl

Просмотров: 234   Ответов: 2

Приветствую.

Возникла потребность в разработке Silverlight-приложения. По концепции ближе всего старые-добрые MDI. Условно говоря, есть главное меню, есть различные окна, и нужна возможность одновременной работы с несколькими окнами.

В связи с этим возник вопрос, чем воспользоваться при разработке отдельных «окон»?
Страницы (Page) можно отображать внутри единого фрейма, но тогда теряется возможность одновременной работы.
«Окна», оформленные как контролы, которые кладутся на таб контрол, позволяют такую одновременную работу. Но в чем тогда их принципиальное отличие от страницы?

З.Ы. Опыт разработки в SL — нулевой, сижу только второй день читаю интернет.



  Сведения об ответе

appple

06:39, 8th August, 2020

Простите, я не очень знаю техническую сторону разработки сильверлайт-приложений, но у меня есть некоторый опыт тестирования сильверлайт и флекс приложений.
«Окна» как таб-контрол — довольно изящно смотрятся, основное отличие, я так понимаю, в том, что можно поименовать сами табы.
Есть еще вариант — это окна на основе попапов. Тогда делается некая общая часть, типа хедер, статусбары, и тп, плюс панель для вызова этих окон. А основное рабочее пространство — просто некий, грубо говоря, бокс, в котором окошками открываются нужные модули. Соответственно. окошки можно таскать, ресайзить и тп. Но готовьтесь столкнуться с накладыванием кучи ограничений как на позицию окон, так и на их размер.


  Сведения об ответе

DAAA

02:13, 29th August, 2020

Page заточены под навигацию внутри ContentFrame. Собственно, Page унаследован от UserControl, с добавлением свойств и методов для навигации.

Так как вам нужна одновременная работа и не нужна навигация — используйте UserControl. Разве что свойство Title может пригодиться для заголовка окна, но из-за одного строкового свойтва использовать «неправильный» контрол я бы не стал.

В любом случае, думаю, что лучше сразу сделать некоторый базовый класс для ваших «окон», который изначально можно унаследовать от UserControl, а затем, если вдруг что, заменить на Page.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться