如果你需要使Web应用程序看上去像桌面副本,使用Silverlight3就可以让梦想成真。虽然Silverlight不难使用,但是编写Siverlight应用程序却存在一些难点:XAML。Expression Blend有助于减少手动编写XAML的压力。
Expression Blend是一项伟大的图形工具,但是你不能用VS替代这一工具。Silverlight(微软Silverlight中加入Smooth Streaming)应用程序实际上包括用户界面要素和代码隐藏的要素。Expression Blend是用于用户界面的工具,VS是则是用于代码隐藏的工具。为了获取最具可能性的开发环境,你要将这两个工具结合起来使用。
本文中使用VS 2008 Team System,因此如果你使用的是不同版本,那或许会在对话框和菜单命令中看到一些差异。不过,文章中提供的代码在所有VS2008版本中都可行。(VS 2008和.NET 3.5 Beta2新特性介绍)
启动VS中的项目
笔者已经尝试过用多种方法将Expression Blend和VS结合使用,发现更喜欢启动VS中的项目。或许你会选择不同的途径,这取决于你如何创建应用程序。然而,只是看看如何将这两个工具结合使用的话,我们可以先在VS中创建一个项目。我们假设你已经在系统中安装了Silverlight和Expression Blend。这里使用的是VS。下面的步骤可以帮助你开始。
选择 VS中的 文件/创建新项目。VS将显示新项目的对话框。
选择所选语言的Silverlight文件夹。
选择Silverlight应用模板。
输入应用名称然后点击"确认",你会看到一个新的Siverlight应用对话框,在对话框中你必须选择一个Web项目以便托管该应用。
点击"确认"接受默认设置,VS就会为你创建一个项目了。
现在,你拥有了一个新的项目,其MainPage.xaml文件处于开放状态。通常,你要手动创建用户界面。但是让我们关闭MainPage.xaml文件,然后看一些更简单的操作吧。
打开XAML
现在让我们用简便方法创建一个用户界面。首先启动Expression Blend。你会看到如下所示的对话框,该对话框询问你是否想要创建一个新的项目或打开一个已有项目。点击Open Project。
你会看到下图中显示的Open Project对话框。为你需要创建的应用找到了项目文件位置。Expression Blend与.sln,.csproj,.vbproj,和.vjsproj文件兼容。点击Open和Expression Blend将打开该项目文件。注意不需要关闭VS中的项目。
项目打开后,你会看到VS中已经打开的文件。关闭可能被打开的Default.aspx文件。右键单击MainPage.xaml,然后在Context菜单中选择打开。这样,你会看到如下图所示的XAML。注意在Expression Blend中不会看到任何XML。XML仍然存在,只是你不能对其进行操作。如果你真要查看XML,选择 View/ Active Document View/Split View 或 View/ Active Document View/XAML View。
让我们向用户控件中添加Canvas。单击Grid控件右下角的箭头,然后会看到一系列可供选择的清单(如下图所示)。注意你拥有大量可供选择的绘图面板。更重要的是你不需要向在VS中那样去猜测是由哪个控件进行绘图操作--Expression Blend会帮你把所有控件都集合起来。在清单中选择Canvas控件。
为了添加Canvas控件,要确保你是在工具窗口中选择了该控件。将光标放到绘图区域的左上角位置,并将其拖至左下角。你拖动光标的时候,要注意Expression Blend显示的当前画板大小(如下图所示)。使用这些大小指示器可以让你准确对对象进行定位和大小的确定。
现在我们要向Canvas添加三个控件:TextBox,Label和Button。TextBlock控件是默认的,因此点击TextBlock控件右下角的箭头然后选择列表中的TextBox。你通常不需要在屏幕上绘制控件,只需添加控件然后按需确定大小就可以了。双击TextBox控件,Expression Blend会自动以默认大小将其添加到默认位置。