silverlight:使用 Silverlight 2 Web 部件打造更为出色的 SharePoint

  本文基于 Silverlight 2 预发布版本撰写而成所有信息均有可能发生变更

  本文将介绍以下内容:

  创建 Silverlight 媒体播放器

  创建 Web 部件

  部署到 SharePo 站点

  应用故障排除

  本文使用了以下技术:

  Silverlight 2、SharePo

使用 Silverlight 2 Web 部件打造更为出色<img src='/icons/29573de.gif' /> SharePo<img src='/icons/29573int.gif' />目录

  创建媒体播放器

  为应用 UI 编码

  应用代码

  创建和部署 Web 部件

  向 SharePo 站点添加应用

  故障排除

  在 Web 应用开发领域中用户们直追求不断改进应用体验此外对这些 Web 应用要求已不再仅仅是支持单个浏览器或平台如果您目前正在构建某个 Web 应用您需要技术不仅要支持提供更令人信服用户体验还要能使开发人员将这种体验快速递送给多项技术和受众

  在能够为开发稳健 Web 应用提供良机技术中Silverlight 2 就是个范例Silverlight 是种跨浏览器、跨平台插件可供开发人员访问丰富编程模型以打造基于 Web 用户体验

  SharePo 是另种经常应用于 Web 应用开发技术原本采用 SharePo 开发内联网公司如今想将此技术扩大到外部 Web 站点Silverlight 和 SharePo 将共同提供个简单但功能强大基础结构用于构建具有尖端用户界面设计和交互功能内联网及外联网应用

  在本文中我们将讨论如何通过在 SharePo Web 部件内集成 Silverlight 应用来配合使用 SharePo 和 Silverlight我们首先会指导您利用 Silverlight 2 Beta 2 构建个相当简单媒体应用(请参见图 1)然后我们将向您介绍说明如何将 SharePo Web 部件用作 Silverlight 应用包装这种思路方法比较有趣这样不仅使您可以创建独立承载式应用还可以通过自带 SharePo 对象模型(例如通过提供商/使用者模型)将各个 Web 部件互联

使用 Silverlight 2 Web 部件打造更为出色<img src='/icons/29573de.gif' /> SharePo<img src='/icons/29573int.gif' />   图 1 Silverlight WMV 播放器 Web 部件

  创建媒体播放器

  我们所推出 Silverlight 2 beta 2 是从 Silverlight 1.0 演变而来例如Silverlight 2 支持托管代码因此除了 JavaScript 的外您现在还可以在应用中使用 Visual Basic 和 C#此外Silverlight 2 附带有组Control控件并为扩充Control控件提供了便利使创建基于 Silverlight 用户界面工作变得更加轻松设计人员体验如今得到了改进并同时受到 Visual Studio 2008 内 UI 设计工具和 Expression Blend 支持

  要准备好环境以便为 SharePo 构建 Silverlight 应用请确保已安装了以下:

  Windows Server 2003 或 Windows Server 2008

  Windows SharePo Services 3.0 及 SP1

  Microsoft Office SharePo Server 2007 及 SP1

  Visual Studio 2008 Professional Edition

  用于 Visual Studio 2008 Silverlight Tools Beta 2

  Silverlight 2 Beta 2 运行时

  Windows SharePo Services 3.0 工具:Visual Studio Extensions1.2 版

  设置完环境后打开 Visual Studio 2008然后创建个新项目在 C# 节点或 Visual Basic 节点中您将找到名为 Silverlight 新项目节点其中包含两个项目模板:个用于创建 Silverlight 应用个用于创建 Silverlight 类库(请参见图 2)

使用 Silverlight 2 Web 部件打造更为出色<img src='/icons/29573de.gif' /> SharePo<img src='/icons/29573int.gif' />   图 2 Silverlight 应用新项目模板

  对于举例应用我们选择了 Silverlight 应用模板提供了个名称(在我们举例中为 MediaPlayer)然后接受了其他默认选项完成这些步骤并单击“确定”后系统会提示您向解决方案添加新 Web 或动态生成个 HTML 测试页以用于承载项目内 Silverlight选择第个方式(向解决方案添加新 Web)再次接受默认选项完成后解决方案将同时包含 Silverlight 项目和承载 Web 应用(而不仅仅是 HTML 页面)

  在我们举例中您可以在 MediaPlayer 解决方案中看到这两个项目个项目是个名为 MediaPlayerWeb Web 站点这是您在开发和测试 Silverlight 应用时要用到测试 Web 站点.第 2个项目是名为 MediaPlayer Silverlight 应用在本文中我们着重关注 MediaPlayer 项目中 Page.xaml 和 Page.xaml.cs 文件

  在 Silverlight 2 中UI 是通过使用种名为 XAML 基于 XML 声明性语言生成为客户端应用创建 Windows Presentation Foundation (WPF) UI 时使用就是这种语言Page.xaml 中包含定义 UI XAML 代码而 Page.xaml.cs 包含应用隐藏代码

  您只能有个 Page.xaml.cs 文件但可以有多个 XAML 文件这些 XAML 文件均可通过中心 Page.xaml 文件进行管理如果您希望在个 Page.xaml 中管理各个单独 Silverlight Control控件则可以这样做

  为应用 UI 编码

  在您打开 XAML 文件时Visual Studio 2008 会显示个拆分式设计/XAML 视图此外在 Silverlight 2 Beta 2 中您可以将各Control控件从工具箱中拖放到 XAML 视图中(Visual Studio 2008 中不支持将Control控件拖动到设计工具表面但您可以在 Expression Blend 中实现这)

  我们刻意地为 MediaPlayer 创建了较为简单 UI 以便介绍说明集成基本方面图 3 显示了表示 Silverlight 应用 UI XAML 代码我们将使用 StackPanel 元素包含和定位 UI 内其他Control控件个用于承载 MediaElement(即播放 WMV 文件元素)和 Slider 元素(表示电影短片时间线)个用于承载 Button、ToggleButton 和 CheckBox 元素它们可提供播放、暂停、停止和静音功能

使用 Silverlight 2 Web 部件打造更为出色<img src='/icons/29573de.gif' /> SharePo<img src='/icons/29573int.gif' />图 3 媒体播放器 XAML

<UserControl x:Class="MediaPlayer.Page"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Width="400" Height="500">
  <StackPanel Grid.Row="1"
        Margin="20,10,20,10"
        Background="White"
        Visibility="Visible">
    <MediaElement x:Name="moviePlayer"
           Source="Bear.wmv"
           Margin="5">          
    </MediaElement>
    <Slider x:Name="timeline"
        ValueChanged="timeline_ValueChanged"
        Maximum="1" 
        Margin="5" >
    </Slider>
    <StackPanel Orientation="Horizontal"
          HorizontalAlignment="Center">
      <Button x:Name="movieStop"
          Content="Stop"
          Height="25"
          Width="40"
          Click="movieStop_Click"
          Margin="5">
      </Button>
      <ToggleButton x:Name="moviePlay"
             Content="Play"
             Height="25"
             Width="40"
             Click="moviePlay_Click"
             Margin="5">
      </ToggleButton>
      <CheckBox x:Name="movieMute"
           Content="Sound _disibledevent= .Web.UI.WebControls.Unit(650);
      this.Controls.Add(myMediaCtrl);
    }
  }
}


Tags:  silverlight2 silverlight.2.0 silverlight是什么 silverlight

延伸阅读

最新评论

发表评论