首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Silverlight asp:silverlight标签

Silverlight asp:silverlight标签
EN

Stack Overflow用户
提问于 2010-10-28 06:13:31
回答 2查看 475关注 0票数 0

我是silverlight的新手。如果这是一个简单的问题,请原谅。

我正在尝试在VS2010中使用Silverlight4来创建一个示例应用程序。在aspx页面中由defualt生成的代码是(除了脚本之外):

代码语言:javascript
复制
<div id="silverlightControlHost">
    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
      <param name="source" value="ClientBin/test.xap"/>
      <param name="onError" value="onSilverlightError" />
      <param name="background" value="white" />
      <param name="minRuntimeVersion" value="3.0.40624.0" />
      <param name="autoUpgrade" value="true" />
      <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration:none">
          <img src="http://go.microsoft.com/fwlink/?LinkId=108181" 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>

我想使用asp:silverlight标签,所以我添加了dll System.Web.Silverlight.dll (v2.0)。

我得到了标签,并将上面的代码替换为:

代码语言:javascript
复制
<asp:ScriptManager ID="ScriptManager1" runat="server" ></asp:ScriptManager>
<asp1:Silverlight ID="test" runat = "server" Source="~/ClientBin/test.xap">
</asp1:Silverlight>   

现在,上面的代码(自己生成的代码)可以工作了,但是asp:silverlight显示空白屏幕。

另外,另一个问题是,如果我们有2个或更多xaml文件,如何调用它们?(因为我们引用了一个xap文件,在哪里应该提到程序应该引用哪个xaml文件)

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-28 06:45:47

坚持使用<object>标签来定义您的Silverlight应用程序,因为@Alex提到旧的Silverlight服务器控件已被弃用-它所做的只是为您呈现object标签,并且可能不会声明您需要的所有参数。在使用它时,在呈现的页面上右键单击->查看源代码,并查看它与手动使用object标记之间的区别。

为了在SL应用程序中显示特定的xaml页面,我假设显示哪个页面的选择是由应用程序外部发生的操作决定的。在这种情况下,有几个选项。您可以使用javascript调用SL应用程序中的托管代码函数,该函数可以显示相应的页面。您可以从SL应用程序回调包含的页面-您可以调用javascript函数或访问页面上的HTML元素。或者,您可以将信息作为SL应用程序InitParams的一部分进行传递

代码语言:javascript
复制
<param name="InitParams" value="<% =GetMyInitParams() %>" />

在aspx页面的代码中:

代码语言:javascript
复制
protected string GetMyInitParams()
{
    return "MyStartPage=Page1,SomeOtherParam=blah";
}

这些InitParams可作为SL应用程序的Application_Startup中的StartupEventArgs提供:

代码语言:javascript
复制
    private void Application_Startup(object sender, StartupEventArgs e)
    {
        if (e.InitParams != null && e.InitParams.Count > 0)
        {
            foreach (string key in e.InitParams.Keys)
            {
                switch (key)
                {
                    case "MyStartPage":
                        myPageToShow = e.InitParams["MyStartPage"];
                        break;
                }
            }
        }
        this.RootVisual = new MainPage();
    }
票数 0
EN

Stack Overflow用户

发布于 2010-10-28 06:27:37

我认为asp:Silverlight标签被取消了,我会使用生成的标签。对于其他xaml文件,您必须以某种方式将它们包含在MainPage.xaml中,无论是导航到它们还是显示它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4038154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档