Подтвердить что ты не робот

Как создать всплывающее диалоговое окно в Silverlight?

Я хотел бы создать всплывающее диалоговое окно в silverlight, в котором я могу управлять элементами управления, вводить данные и возвращать значение. Я хочу, чтобы он был модальным, так что, когда он открыт, страница "Ниже" недоступна. Я пока не нашел простой способ сделать это. Любые предложения?

4b9b3361

Ответ 1

Я знаю вопрос о решении Silverlight 2, но в Silverlight 3 (Beta сейчас, RTW в июле 2009 года) есть встроенный ChildWindow, который может делать все, что вы ищете.

Ответ 3

Я новичок в платформе Sliverlight, и я только начинаю понимать это, но у меня есть аналогичная потребность в всплывающем модальном диалоговом окне. Я просто попробовал идею, которая выглядит многообещающе:

  • Я создал прямоугольник (называемый "Щит" ), который охватывает всю область приложения. Он существует поверх всего в главном приложении. Я установил кисть заливки в белый цвет, а прозрачность - до 81%, чтобы содержимое основного приложения отображалось, но слегка (как отключено). Затем убедитесь, что "Щит" проверен на удар. Теперь, когда "Щит" виден, он также, по сути, блокирует все входные данные для элементов управления ниже (по крайней мере от мыши, еще не пробовал клавиатуру). Когда приложение инициализируется, установите видимость "Щит" на "Свернутый". В этом состоянии он не будет блокировать ввод в основное приложение.
  • Затем диалоговое окно создается на другом элементе холста, который существует в z-порядке сверху экрана. Обычно диалоговое окно будет невидимым, но когда мне это нужно, я просто устанавливаю "Щит" в видимый, а диалог - на видимый. Поскольку диалог находится поверх "Щита", я получаю очень модальное поведение. Когда диалоговое окно будет закрыто, сделайте как холст диалога, так и холст "Щит" невидимым снова, и основное приложение снова будет активным.

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