Как сделать мой DIV-дисплей поверх приложения Silverlight? - PullRequest
8 голосов
/ 18 апреля 2011

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

Однако я сталкиваюсь с проблемой, при которой навигация всегда падаетза приложением Silverlight.Я попытался включить «Windowless», но пришлось отключить его, потому что я потерял функцию перетаскивания ( Microsoft не поддерживает его )

Что мне нужносделать так, чтобы моя навигация отображалась поверх приложения silverlight ( param name = "Windowless" value = "true" не вариант, если нет способа использовать его сперетащить и падение)?

Silverlight добавлен в HTML


<div id="silverlightControlHost" style="float:left; width:400px; height:300px;">
    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="220px">
      <param name="source" value="../ClientBin/FileImport.xap"/>
      <param name="onError" value="onSilverlightError" />
      <param name="background" value="white" />
      <param name="minRuntimeVersion" value="4.0.50826.0" />
      <param name="autoUpgrade" value="true" />

      <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.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>


Меню навигации


<div id="NavigationControl">
    <ul class="sf-menu sf-js-enabled sf-shadow">
        <li><a id="Navigation_1" href="...">Item 1</a></li>
        <li class="sfHover"><a id="Navigation_2" class="sf-with-ul">Item 2<span class="sf-sub-indicator">&#187;</span></a>
            <ul style="visibility: visible; display: block;">
                <li><a id="Navigation0_1" href="...">Child 1</a></li>
                <li><a id="Navigation0_2" href=".." class="sf-with-ul">Children<span class="sf-sub-indicator">&#187;</span></a>
                    <ul style="display: none; visibility: hidden;">
                        <li><a id="Navigation1_1" href="...">Thing 1</a></li>
                        <li><a id="Navigation1_2" href="...">Thing 2</a></li>
                        <li><a id="Navigation1_3" href="...">Thing 3</a></li>
                        <li><a id="Navigation1_4" href="...">Thing 4</a></li>
                        <li><a id="Navigation1_5" href="...">Thing 5</a></li>
                        <li><a id="Navigation1_6" href="...">Thing 6</a></li>
                        <li><a id="Navigation1_7" href="...">Thing 7</a></li>
                        <li><a id="Navigation1_8" href="...">Thing 8</a></li>
                    </ul>
                </li>
                <li><a id="Navigation2_1" href="...">Box 1</a></li>
                <li><a id="Navigation2_2" href="...">Box 2</a></li>
                <li><a id="Navigation2_3" href="...">Box 3</a></li>
                <li><a id="Navigation2_4" href="...">Box 4</a></li>
            </ul>
        </li>   
        <li><a id="Navigation_3" href="..">Item 3</a></li>
    </ul>
</div>

Управление навигацией CSS


#NavigationControl {
    height: 23px;
    background-color: transparent;
    position: relative;
    z-index: 10000;
}

Обзор всего на странице


<html>
  <head>
       //link to SuperFish CSS & JS
       //link to Silverlight download if missing JS
  </head>
  <body>
    <div id="NavigationControl"></div>
    <div id="silverlightControlHost"></div>
  </body>
</html>

Ссылка на Superfish JS и CSS

Ответы [ 2 ]

2 голосов
/ 27 апреля 2011

Чтобы иметь возможность визуализировать HTML-содержимое в приложении Silverlight, необходимо настроить подключаемый модуль silverlight для работы в режиме без окон.

Добавить следующий параметр в конфигурацию подключаемого модуля

<param name="windowless" value="true" />

http://msdn.microsoft.com/en-us/library/cc838156(VS.95).aspx

В режиме без окон плагин отображает содержимое silverlight непосредственно в окне браузера, а не в дочернем окне в рамке браузера.Из-за этого HTML-код страницы может перекрывать содержимое Silverlight.

Примечание. Работа в режиме без окон имеет некоторые последствия для производительности, для получения более подробной информации прочтите приведенную выше ссылку.

Вот пример, которыйможет также помочь

http://weblogs.asp.net/dwahlin/archive/2010/05/10/integrating-html-into-silverlight-applications.aspx

0 голосов
/ 19 апреля 2011

Я знаю, что для Flash вы можете использовать:

wmode="opaque" атрибут элемента object.

Не знаю, работает ли он также для Silverlight

...