`
terryfeng
  • 浏览: 504764 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Silverlight Object 标签属性介绍、初始化参数的设置和获取、客户端系统信息获取

阅读更多

HTML元素属性介绍

Silverlight 作为网页的一部分宿主在浏览器当中,使用 HTML 元素的形式声明的。

当你在新建一个Silverlight项目的时候,VS会为你建立一个用于测试的HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >

<head>
    <title>SlSample1</title>
    <style type="text/css">
    html, body {
        height: 100%;
        overflow: auto;
    }
    body {
        padding: 0;
        margin: 0;
    }
    #silverlightControlHost {
        height: 100%;
        text-align:center;
    }
    </style>
    <script type="text/javascript" src="Silverlight.js"></script>
    <script type="text/javascript">
        //js用来显示SL错误的脚本,这里可以自定义
        function onSilverlightError(sender, args) {
            var appSource = "";
            if (sender != null && sender != 0) {
              appSource = sender.getHost().Source;
            }
            
            var errorType = args.ErrorType;
            var iErrorCode = args.ErrorCode;

            if (errorType == "ImageError" || errorType == "MediaError") {
              return;
            }

            var errMsg = "Unhandled Error in Silverlight Application " +  appSource + "\n" ;

            errMsg += "Code: "+ iErrorCode + "    \n";
            errMsg += "Category: " + errorType + "       \n";
            errMsg += "Message: " + args.ErrorMessage + "     \n";

            if (errorType == "ParserError") {
                errMsg += "File: " + args.xamlFile + "     \n";
                errMsg += "Line: " + args.lineNumber + "     \n";
                errMsg += "Position: " + args.charPosition + "     \n";
            }
            else if (errorType == "RuntimeError") {           
                if (args.lineNumber != 0) {
                    errMsg += "Line: " + args.lineNumber + "     \n";
                    errMsg += "Position: " +  args.charPosition + "     \n";
                }
                errMsg += "MethodName: " + args.methodName + "     \n";
            }

            throw new Error(errMsg);
        }
    </script>
</head>
<body>
    <form id="form1" runat="server" style="height:100%">
    <div id="silverlightControlHost">  -- Silverlight插件的容器
        <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
          <param name="source" value="ClientBin/SlSample1.xap"/>  ----Silverlight文件的位置,相对和绝对路径均可
          <param name="onError" value="onSilverlightError" />  -- 设置使用js来显示Sl的错误信息这里设置了一个方法名称,定义在上面
          <param name="background" value="white" />   --背景色
          <param name="minRuntimeVersion" value="3.0.40818.0" />  -- 最低可运行的版本
          <param name="autoUpgrade" value="true" />  -- SL是否可以自动更新
          <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none">
               <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
          </a>  -- SL的下载地址,这里可以指向一个局域网内的服务器,提供更快的下载速度
        </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
    </form>
</body>
</html>
除此之外还有一下几个属性比较重要
          <param name="enableHtmlAccess" value="true" />  -- 开启访问Javascript 和Dom的能力
          <param name="enableGPUAcceleration" value="true" />  -- 开启GPU加速
          <param name="initParams" value="id=12345,name=你好" />  --初始化参数的属性

获取初始化参数和网页参数

获取通过initParams 属性初始化的参数

App.xaml.cs文件

private void Application_Startup(object sender, StartupEventArgs e)
 {
     string para1 = e.InitParams.Keys["id"];
     string para2 = e.InitParams.Keys["name"];
     this.RootVisual = new MainPage(para1,para2);
 }

 

获取URL传递的参数

 

foreach (String key in HtmlPage.Document.QueryString.Keys)
            {
                //添í加ó到?ListBox中D
                listBox1.Items.Add(new TextBlock()
                {
                    Text = String.Format(
                        "URL参?数y:o{0} = {1}", key,
                        HtmlPage.Document.QueryString[key])
                });
            }

 

任何XAML中获取initParams的方法

App.Current.Host.InitParams["id"];

 

获取客户端系统信息

 

          using System.Windows.Browser;

            //请先引用System.Windows.Browser;
            BrowserInformation browserInfo
                = HtmlPage.BrowserInformation;
            tbkName.Text = string.Format("Name: {0}"
                , browserInfo.Name);
            tbkVer.Text = string.Format("BrowserVersion: {0}"
                , browserInfo.BrowserVersion);
            tbkPlatform.Text = string.Format("Platform: {0}"
                , browserInfo.Platform);
            tbkUserAgent.Text = string.Format("UserAgent: {0}"
                , browserInfo.UserAgent);  

分享到:
评论

相关推荐

    silverlight获取Asp.net参数(方式一)

    在Silverlight应用启动时,ASP.NET页面可以通过`&lt;param&gt;`标签向Silverlight对象传递初始化参数。这些参数以键值对的形式存在,可以在Silverlight应用程序内部被访问,以便在加载时配置或初始化应用。 下面是如何在...

    Silverlight应用程序中如何获取ASP.NET页面参数

    在ASP.NET页面(例如`SilverlightTestPage.aspx`)加载时,我们可以捕获页面的查询字符串参数,并将它们作为初始化参数传递给Silverlight应用程序。在`Page_Load`事件处理程序中,可以这样做: ```csharp protected...

    Silverlight页面跳转及页面间传递参数

    在Silverlight中,页面有其特定的生命周期,包括初始化、加载、显示等阶段。了解这些阶段对于正确处理页面间参数传递至关重要,比如在`OnNavigatedTo`事件中接收参数,在`OnNavigatedFrom`事件中释放资源。 5. **...

    Silverlight项目获取天气、PM2.5信息

    总的来说,"Silverlight项目联网获取天气,PM2.5等详细天气信息"涉及了Web客户端开发、网络通信、数据解析、UI设计等多个方面,需要开发者具备全面的技能和对新技术的敏感度。通过这个项目,不仅可以学习Silverlight...

    Silverlight客户端获取服务器文件路径或文件流,并直接显示图片

    在本案例中,我们讨论的主题是如何在Silverlight客户端获取服务器上的文件路径或文件流,并直接在客户端显示图片。 首先,我们需要了解Silverlight的安全模型。由于安全限制,Silverlight应用程序不能直接访问...

    Silverlight参数传递

    ### Silverlight参数传递 #### 背景介绍 Silverlight是一种强大的Web应用程序开发框架,它由微软开发并推出,主要用于创建丰富的互联网应用程序(RIA)。Silverlight支持多种编程语言,包括C#、VB.NET等,并且可以...

    silverlight 对象和属性实用示例

    在本文中,我们将深入探讨Silverlight中的对象和属性,并通过实用示例来帮助您更好地理解和应用这些概念。 首先,让我们了解Silverlight的核心对象。在Silverlight中,UI元素是构建用户界面的基本组成部分,例如...

    IM聊天系统源码(C#),支持桌面客户端和Silverlight客户端

    在该系统中,支持两种类型的客户端:Windows桌面客户端和Silverlight客户端。Windows客户端利用.NET Framework的本地支持,提供了一个全面的功能界面,用户可以在熟悉的环境中进行聊天。而Silverlight客户端则是一种...

    silverlight 网页聊天系统

    这个系统可能采用了客户端-服务器架构,Silverlight客户端负责展示用户界面和处理用户输入,而服务器端则处理消息传递、用户验证和聊天历史记录的存储。通过WCF(Windows Communication Foundation)服务,客户端和...

    CS-sc-InitParams_CS.zip

    总结来说,"CS-sc-InitParams_CS.zip"中的项目涉及了Silverlight的初始化参数传递和处理,这对于理解如何在Silverlight应用中动态配置和控制客户端行为至关重要。通过深入学习和实践,开发者能够更好地利用...

    Silverlight操作客户端注册表

    包含内容: 1.SilverlightOOB模式下将其加入客户端的开机自动启动项; 2.OOB模式下从开机自动启动项中移除; 3.OOB模式下遍历客户端数据库; 4.TXT、XML、数据库等方式...5.Silverlight通过RIA获取服务器的已安装软件。

    silverlight gis开发初始模板

    这个文件可能包含了Silverlight GIS应用的核心代码或者是一系列用于初始化和配置GIS功能的类和资源。 6. 开发流程:使用此模板,开发者首先需要配置ArcGIS服务,然后在Silverlight应用中引用这些服务。接着,可以...

    Silverlight浏览器客户端运行插件

    **Silverlight浏览器客户端运行插件** Silverlight是微软公司推出的一种富互联网应用程序(RIA)平台,主要用于增强网页的多媒体体验。它与Adobe的Flash类似,为Web开发人员提供了一种在浏览器中创建交互式、动画...

    基于 Silverlight +ASP.Net实现的Sessions参数访问程序例子代码

    在IT领域,开发Web应用程序时,常常需要在服务器端和客户端之间传递数据。Silverlight作为一个强大的富客户端技术,可以与ASP.NET服务器端紧密结合,提供丰富的交互体验。本示例代码着重于如何在Silverlight应用中...

    Silverlight开发系统工具介绍

    至于客户端,微软提供了适用于Windows和Mac系统的Silverlight客户端。安装过程简单,直接从官网下载相应版本即可。 辅助开发工具方面,Deep Zoom Composer用于实现Silverlight中的高分辨率图像查看,其平滑缩放的...

    Silverlight客户端图层控制范例

    SuperMap iClient是一款强大的GIS(地理信息系统)客户端组件,它提供了丰富的地图操作和数据处理功能,适用于Web和桌面应用。在Silverlight环境下,它能为用户提供交互式地图浏览、查询、分析等多种功能。 首先,...

    silverlight和web页面互相传值

    2. **HtmlPage.Plugin属性**:此属性提供了对Silverlight插件的HTML元素的引用,可以设置或获取HTML元素的属性来传递数据。 **三、Web页面向Silverlight传递值** 1. **InvokeScript方法**:在JavaScript中,可以...

    Silverlight 自定义控件 模板化控件 (一)属性

    在本文中,我们将深入探讨Silverlight自定义控件的模板化设计,特别是关注其中的属性。Silverlight是一种强大的RIA(富互联网应用)开发框架,它允许开发者创建具有丰富交互性和视觉效果的应用。自定义控件是提升...

    基于Silverlight读取服务器端格式化的Json数据源码例子

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁高效而广泛应用于Web服务和客户端之间的数据传输。 首先,我们要理解Silverlight与服务器通信的基本机制。Silverlight应用通常使用异步...

Global site tag (gtag.js) - Google Analytics