初始化Silverlight屏幕
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:itlead 阅读 1565
默认初始屏幕体验在托管API下为Silverlight定义的默认体验是:超出某一时间阈值(约为0.5秒)的任何加载都将在内容区域中显示基于XAML的动画。显示该默认动画和初始化序列的XAML被硬编码



  默认初始屏幕体验

  在托管 API 下为 Silverlight 定义的默认体验是:超出某一时间阈值(约为 0.5 秒)的任何加载都将在内容区域中显示基于 XAML 的动画。显示该默认动画和初始化序列的 XAML 被硬编码到 Silverlight 插件中。

 

  为了替换默认初始屏幕,您为在 HTML 中定义 object 元素的 Silverlight 插件的 splashScreenSource 参数提供一个值。

 

  应用程序项目中的基本初始屏幕
 


  在 Silverlight 中对于初始屏幕的基本支持在 Silverlight 插件基本代码级别定义。这将向处于 COM 或 NPAPI 控件模型(取决于特定的浏览器)中的浏览器宿主公开,并且一般通过实例化 Silverlight 插件的 object 元素向 HTML DOM 和 HTML 公开。

 

  Silverlight 插件的以下 params 选项专门用于初始屏幕支持:

 

  参数

  SplashScreenSource

  设置为初始屏幕提供视觉效果的 XAML 页的 URI。此页在 JavaScript API 下作为初始 Silverlight 内容加载。 

  OnSourceDownloadProgressChanged

  设置正在下载 Source 期间对以增量方式调用的事件处理程序的名称。

  OnSourceDownloadComplete

  设置在 Source 下载完成后立即调用的事件处理程序的名称。

 

  如果您为 OnSourceDownloadProgressChanged 或 OnSourceDownloadComplete 指定了一个处理程序,则引用的函数必须在运行时可用于浏览器脚本引擎。通常,这是通过在单独的 JavaScript 文件中定义该函数实现的。然后,您为承载定义 object 元素的 Silverlight 插件的 HTML 页包括脚本。

 

  用于 SplashScreenSource 的 XAML 页应可从某一 Web 服务器获取。此 XAML 页提供给 Silverlight 客户端浏览器宿主,就像提供图像或托管 XAP 包之类的其他内容一样。应该对您的 Web 服务器进行配置,以便 .xaml 扩展名和用于 XAML 的相应 MIME 类型允许作为提供的内容。

 

  初始屏幕具有安全注意事项,因为它们涉及跨 API 模式的转换,以及 HTML 页内的 Silverlight 初始化。为使这些转换更安全,您必须从相同的域提供初始屏幕进程的所有三个元素(宿主 HTML 页、初始屏幕 XAML、在初始屏幕显示时正下载的 XAP 包)。您可以选择通过 HTTPS 提供这些元素,但如果您这样做了,则必须将所有元素都作为 HTTPS 提供。

 

  初始屏幕源必须是 XAML 文件。将 XAP 指定为初始屏幕源将会生成错误。

 

  初始屏幕使用情况详述


  用于初始屏幕的一个常见情形就是显示可视进度指示器。对于许多用户而言,最基本和最熟悉的进度指示器是进度栏。典型的进度栏设计显示一个水平延伸的矩形区域,该区域最初显示为白色或空。在下载或操作正在进行时,这个空区域逐渐被更深颜色的栏填充,并且只要更深颜色的栏完全填充该矩形,进度即完成。有时候,这一视觉效果通过显示数字百分比的文本区域来实现。

 

  在 Silverlight 初始屏幕模型中,确定下载进度的方法是通过从 OnSourceDownloadProgressChanged 处理程序的事件数据内读取 Progress 属性的值。

 

  尽管进度栏在视觉外观上可能与动画类似,但通常不需要使用 Silverlight 动画 API 来生成进度栏。您只需通过在 OnSourceDownloadProgressChanged 的每次迭代时使用 Progress 的某个因子来更新某个属性。

 

  例如,以下 XAML 定义此类进度栏的一个简单版本:

  

  为了生成可视进度,您通过在处理程序中设置 progressBarFill 的宽度,在每次迭代时重置填充栏的值。progress 是介于 0 和 1 之间的值,因此您将其用作相对于进度栏区域的可能总宽度的因子。

  

  动画不是必需的,因为 Silverlight 呈现系统会检测到对象树中运行时更改的属性值并相应重绘视觉效果。

  

 

 

本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。

 

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2