Silverlight ChildWindow с главной страницей asp.net - PullRequest
0 голосов
/ 25 февраля 2012

Я использую silverlight с asp.net.i я добавил контент silverlight на главную страницу asp.net, используя следующий код

<div style="width:200px">
     <object data="data:application/x-silverlight-2," 
             type="application/x-silverlight-2" width="100%" style="height: 1000px">
          <param name="source" value="ClientBin/SilverlightSummary.xap"/>
          <param name="onError" value="onSilverlightError" />
          <param name="background" value="white" />
          <param name="minRuntimeVersion" value="4.0.50401.0" />
          <param name="autoUpgrade" value="true" />
          <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style="text-decoration:none">
              <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
          </a>
        </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe>
    </div>

в Silverlight MainPage.xaml, у меня есть кнопка, и когда я нажимаю накнопка, которая открывает ChildWindow.

 private void btnView_Click(object sender, RoutedEventArgs e)
        {
            PopUpWindow PPW = new PopUpWindow();
            PPW.chart1.DataContext = App.Current.Resources["ChartResult"];

            PPW.Show();
        }

проблема в том, что дочернее окно отображается только на главной странице, оно не покрывает весь экран главной страницей asp.net и страницей содержимого. Как я могу сделать это дляпоказать дочернее окно на полном экране

1 Ответ

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

Я думаю, что вы спрашиваете, чтобы Silverlight выполнял «блокировку» на всей странице, когда только часть контента (то есть объект silverlight) размещается на части страницы.Теоретически приложение silverlight может выполнять блокировку только всего объекта, который его представляет.Этот объект содержится в этом «div», поэтому в лучшем случае он может блокироваться только до этого div.Помимо этого, он может только общаться с другими элементами через сообщения, но не может обеспечить наложение / блокировку, которую вы ищете.Поэтому ответ заключается в том, чтобы взглянуть на проблему под другим углом (можно решить эту проблему ...) .. (игнорировать печальные решения)

Какие у вас варианты?

Грустные решения: - Включите все элементы, которые вы хотите заблокировать, в элемент управления silverlight, а не на странице aspx. - Поместите все приложение в silverlight ... не очень реально

RealРешения - Если это изображение, которое вы хотите показать, визуализируйте изображение во временный подкаталог сайта aspx, определите функцию javascript для выполнения блокировки на странице путем отображения светового окна, а затем вызовите эту кнопку javascript из silverlight(ты лучший выбор).- Если это текст или другой, используйте технику, аналогичную вышеупомянутой опции.- Когда лайтбокс из javascript или около того закрыт, вызовите метод silverlight (если необходимо), чтобы обновить объект silverlight.

Пример того, как общаться между silverlight и javascript и обратно, находится в другом посте, который я 'я ответил.Здесь - ASP.NET MVC для связи Silverlight

...