zoukankan      html  css  js  c++  java
  • XBAP 承载 Silverlight 的示例

    Microsoft MSDN:

    http://msdn.microsoft.com/zh-cn/library/cc656722(v=vs.90).aspx

    本示例演示以下内容:

    • 如何在 XAML 浏览器应用程序 (XBAP) 中承载基于 Silverlight 的应用程序。

    • 如何在宿主 XBAP 和基于 Silverlight 的寄宿应用程序之间通信。

    Download sample

    通过使用 WebBrowser 控件,可以在 XBAP 中承载基于 Silverlight 的应用程序。XBAP Page 的内容包含 WebBrowser 控件,该控件的源 URI 可以标识承载着基于 Silverlight 的应用程序的 HTML 页。HTML 页使用 Silverlight 插件控件承载基于 Silverlight 的应用程序。

    下图阐释了在 XBAP 中承载基于 Silverlight 的应用程序的高级别体系结构。

    承载 Silverlight 应用程序的 WPF 应用程序

    宿主 XBAP 可以借助脚本方法与基于 Silverlight 的寄宿应用程序进行通信,这里的脚本方法由承载基于 Silverlight 的应用程序的 HTML 页实现。XBAP 使用 InvokeScript 方法调用脚本方法。脚本方法随后调用由可编写脚本的对象实现的方法,该对象通过基于 Silverlight 的应用程序公开,其脚本调用可通过 Silverlight 插件控件的 Content 属性实现。

    下图说明了在 XBAP 中承载基于 Silverlight 的应用程序的高级别体系结构,以及从宿主 XBAP 向基于 Silverlight 的寄宿应用程序传播方法调用时所用的关键技术。

    WPF 与 Silverlight 交互操作

    若要使用 WebBrowser 控件调用脚本方法,请参见 WebBrowser 控件示例。有关实现基于 Silverlight 的应用程序(用于公开可编写脚本的对象)的更多信息,请参见 Walkthrough: Calling Managed Code from JavaScript(演练:从 JavaScript 调用托管代码)。有关如何开发基于 Silverlight 的应用程序的介绍,请参见 Getting Started with Silverlight(Silverlight 入门)。

    基于 Silverlight 的寄宿应用程序可以借助脚本方法与宿主 XBAP 进行通信,这里的脚本方法由承载基于 Silverlight 的应用程序的 HTML 页实现。基于 Silverlight 的应用程序使用HtmlWindow 类(来自 System.Windows.Browser 命名空间)的 Invoke 方法调用脚本方法。基于 Silverlight 的应用程序从 HtmlPage 类(同样位于 System.Windows.Browser命名空间)的 Window 属性获取对窗口(由 HtmlWindow 类表示)的引用。脚本方法随后调用由可编写脚本的对象实现的方法,该对象通过 ObjectForScripting 属性从 XBAP 公开,其脚本调用可通过 window 对象(由宿主浏览器公开)的 external 属性实现。

    下图说明了在 XBAP 中承载基于 Silverlight 的应用程序的高级别体系结构,以及从基于 Silverlight 的寄宿应用程序向宿主 XBAP 传播方法调用时所用的关键技术。

    Silverlight 与 WPF 交互操作

    若要从基于 Silverlight 的应用程序调用脚本方法,请参见 Walkthrough: Calling JavaScript from Managed Code(演练:从托管代码调用 JavaScript)。有关从 XBAP 公开可编写脚本的对象的更多信息,请参见 WebBrowser 控件示例和 ObjectForScripting

    本示例由一个解决方案 (XBAPHostingSilverlightSample) 和两个项目组成:

    1. XBAP 项目 (WPFBrowserApplication),用于承载基于 Silverlight 的应用程序。

    2. 基于 Silverlight 的应用程序项目 (SilverlightApplication)。

    SilverlightApplication 在 WPFBrowserApplication 之后生成,它包括一个生成后步骤,会将生成的基于 Silverlight 的应用程序 silverlightspplication.xap 复制到 WPFBrowserApplication 项目输出文件夹:\bin\debug。

    必须使用以下步骤对示例进行配置,使其从 localhost 上指向 WPFBrowserApplication 项目输出文件夹 (\bin\debug) 的虚拟目录运行:

    1. “开始”|“管理工具”中选择“Internet 信息服务(IIS)管理器”

    2. 选择“网站”|“默认网站”。

    3. 右击“默认网站”并选择“添加虚拟目录”,然后

      1. “别名”设置为“WPFBrowserApplication”。

      2. “物理路径”设置为 WPFBrowserApplication 项目输出文件夹。

    4. “确定”以创建虚拟目录。

    若要运行示例,请导航到以下 URL:

    http://localhost/WPFBrowserApplication/WPFBrowserApplication.xbap

    此示例演示 Windows Presentation Foundation 的特定功能,因此未遵循应用程序开发的最佳做法。有关 Windows Presentation Foundation (WPF) 和 Microsoft .NET Framework 应用程序开发的最佳做法的全面介绍,请相应地参考以下主题:

    辅助功能 - 辅助功能最佳方案

    本地化 - WPF 全球化和本地化概述

    性能 - 优化 WPF 应用程序性能

    安全 - Windows Presentation Foundation 安全性

    • 安装 Windows 软件开发工具包 (SDK) 并打开其生成环境命令窗口。在“开始”菜单上,指向“所有程序”、“Microsoft Windows SDK”,然后单击“CMD Shell”。

    • 将示例(通常位于软件开发工具包 (SDK) 文档中)下载到您的硬盘。

    • 若要从生成环境命令窗口生成示例,请转到示例的源目录。在命令提示符处,键入 MSBUILD。

    • 若要在 Microsoft Visual Studio 中生成示例,请加载示例解决方案或项目文件,然后按 Ctrl+Shift+B。

    • 若要从生成环境命令窗口运行已编译的示例,请执行示例源代码文件夹下包含的 Bin\Debug 或 Bin\Release 文件夹中的 .exe 文件。

    • 若要在 Visual Studio 中调试运行已编译的示例,请按 F5。

  • 相关阅读:
    java StringBuilder和StringBuffer 用法
    java 包装类
    java 异常机制
    java Scanner类的使用
    java Arrays数组
    java 二维数组和对象数组
    LeaFlet学习之结合turf.js生成简单的等值线demo
    Openlayer给定坐标进行绘制多边形
    LeaFlet学习之GridLayer扩展
    LeaFlet学习之聚合效果
  • 原文地址:https://www.cnblogs.com/jiewei915/p/2699081.html
Copyright © 2011-2022 走看看