Как интегрировать siilverlight с веб - PullRequest
1 голос
/ 13 июня 2011

Я смог интегрировать xap-файл silverlight на странице веб-сайта, указав для параметра source правильное значение. Что-то вроде:

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
          <param name="source" value="ClientBin/Demo3.xap"/>
          <param name="onError" value="onSilverlightError" />
          <param name="background" value="white" />
          <param name="minRuntimeVersion" value="4.0.50826.0" />
          <param name="uiculture" value="<%= System.Threading.Thread.CurrentThread.CurrentUICulture %>" />
          <param name="culture" value="<%= System.Threading.Thread.CurrentThread.CurrentCulture %>" />
          <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>

Но проблема в том, что в моем проекте Silverlight есть несколько страниц, которые я хочу показать отдельно на разных веб-страницах сайта.

Запрос: Как изменить исходный тег param для загрузки конкретной страницы xaml?

Если это невозможно, как достичь этого сценария?

1 Ответ

2 голосов
/ 13 июня 2011

Свойство StartupEventArgs.InitParams

Обработчик Silverlight:

private void Application_Startup(object sender, StartupEventArgs e)
{
    // look into e.InitParams property and let's say we can get the following variable:
    bool showPage1;

    // let's say we have two pages - Page1.xaml and Page2.xaml
    RootVisual = showPage1 ? (UIElement) new Page1() : new Page2();
}

HTML (см. initParams ):

<object id="slPlugin1" width="300" height="50"
        data="data:application/x-silverlight-2," 
        type="application/x-silverlight-2" >
        <param name="source" value="ClientBin/SilverlightApplication.xap"/>
        <param name="initParams"
            value="id=slPlugin1,embeddingTechnique=objectElement"/>
        <!-- Installation HTML omitted. -->
    </object>    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...