zoukankan      html  css  js  c++  java
  • Silverlight 如何:指定和检索自定义初始化参数

    http://msdn.microsoft.com/zh-cn/library/cc189004(VS.95).aspx

    当您在某一网页中嵌入 Silverlight 插件时,可以在插件配置中指定自定义初始化参数。这些参数是可以在 Application.Startup 事件的处理程序中检索的名称和值对。您还可以随时通过 SilverlightHost.InitParams属性检索这些参数。

    自定义初始化参数允许您承载网页以影响您的应用程序初始化。例如,可以将自定义初始化参数和基于 Silverlight 的钟控件一起使用来指定数字或模拟显示。

    下面的代码示例演示如何在宿主网页中指定自定义初始化参数。然后,它演示如何在 Startup 事件处理程序中通过 StartupEventArgs.InitParams 属性检索这些参数。

    此示例还演示如何在启动时通过 HtmlDocument.QueryString 属性检索 URL 参数。请注意,如果禁止 HTML 访问(跨域承载时的默认设置),则不能检索 URL 参数。有关更多信息,请参见 HTML 桥中的安全设置

      示例

    html

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html  >
    <!-- saved from url=(0014)about:internet -->
    <head>
        <title>SilverlightApplication</title>
        <script type="text/javascript" src="Silverlight.js"></script>
    </head>
    <body>
        <table>
        <tr><td>
            <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>
        </td></tr>
        <tr><td>
            <div id="silverlightControlHost">
                <script type="text/javascript">
                    Silverlight.createObject(
                        "ClientBin/SilverlightApplication.xap",  
                        silverlightControlHost, "slPlugin2",
                        {  "300", height: "50", background: "white" }, { },
                        "id=slPlugin2,embeddingTechnique=createObject" );
                </script>
            </div>
        </td></tr>
        </table>
    </body>
    </html>

    C#

    private void Application_Startup(object sender, StartupEventArgs e)
    {
        Page p = new Page();
        this.RootVisual = p;
    
        // This assumes that Page.LayoutRoot exists and is a StackPanel.
        StackPanel layoutRoot = p.LayoutRoot; 
    
        // Display the custom initialization parameters.
        foreach (String key in e.InitParams.Keys)
        {
            layoutRoot.Children.Add(new TextBlock() {
                Text = String.Format(
                    "from InitParams: {0} = {1}", key, 
                    e.InitParams[key])
            });
        }
    
        // Display the URL parameters.
        foreach (String key in HtmlPage.Document.QueryString.Keys)
        {
            layoutRoot.Children.Add(new TextBlock()
            {
                Text = String.Format(
                    "from QueryString: {0} = {1}", key, 
                    HtmlPage.Document.QueryString[key])
            });
        }            
    }
    

    应用程序扩展服务可以访问其 IApplicationService.StartService 方法实现中的自定义初始化参数。有关更多信息,请参见应用程序扩展服务

  • 相关阅读:
    Codeforces 712B. Memory and Trident
    Codeforces 712A. Memory and Crow
    kkb --- webpack实战
    前端性能优化
    前端防抖
    css面试题
    七、服务端渲染 ---kkb
    数据结构与算法(位运算)
    数据结构与算法(栈、队列、链表)
    vue-cli 配置项以及请求的封装
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1649897.html
Copyright © 2011-2022 走看看