2010-12-01 2 views
0

Я разработал элемент управления Silverlight, который показывает список документов. Это занимает столько же или меньше места, как нравится интегратор-разработчик.Large ChildWindow от небольшого элемента управления Silverlight?

Однако, когда пользователи добавляют документы, я использую ChildWindow, чтобы получить кучу метаданных, прежде чем документ будет фактически загружен. Этот диалог может быть довольно большим.

Мы нашли способ выйти в полноэкранный режим, но мы считаем, что это удивит пользователей (а не в смысле удивления и восторга!). Есть ли лучший способ позволить этому диалоговому окну использовать больше пространства экрана, чем родительский контейнер silverlight?

ответ

0

Интересный вопрос. На мгновение я подумал, что вы можете обойти проблему, открыв истинное или поддельное всплывающее окно HTML, вызвав JavaScript на хост-странице. Это всплывающее окно будет потом другим экземпляром Silverlight, который тогда может быть таким большим, насколько это необходимо.

Однако это решение имеет ряд проблем:

  1. Элемент списка
  2. Вы должны фальсифицировать «modalness» оригинального экземпляра SL и/или на странице хоста
  3. Вы должны играть с JavaScript, хотя это в значительной степени облегчается с помощью jQuery
  4. Экземпляр SL должен быть тщательно подобран таким образом, чтобы ChildWindow покрывал всю поверхность, чтобы скрыть тот факт, что здесь есть еще один экземпляр
  5. Вам нужно будет установить способ передачи данных, полученных в ChildWindow, обратно в исходный экземпляр SL; Вы можете сделать это, сохраняя его в DOM хоста или с помощью SL встроенных в local messaging

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

Но это аккуратный небольшой обход, не так ли?

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