代码编辑和 Visual Studio 2008 互操作性

对于负责设计工作的人员而言,编辑代码可以称为一项复杂的任务。Microsoft Expression Blend 是为从事创作性工作的人员而设计的。您可以在 Expression Blend 的“设计”视图中创建基于 Windows Presentation Foundation 或基于 Microsoft Silverlight 1.0 的整个应用程序。您也可以在 Windows Presentation Foundation 项目中创建能够在其他 Expression Blend 项目中重用的样式资源。此外,您还可以导入从 Microsoft Expression Design 2 导出的美术资源和 XAML,并导入由 Microsoft Expression Encoder 2 生成的 Silverlight 1.0。

Expression Blend 的设计也可满足团队开发的需要。通常,软件团队由处理用户界面 (UI) 的设计人员和处理在 UI 背后运行的代码的编程人员组成。因此,Expression Blend 不仅包含可用于生成无需开发人员处理的最基本代码,而且还包含能够让用户与事件处理程序或自定义控件(可像现有控件一样使用)等现有代码挂钩的功能。

在 Expression Blend 中可以执行哪些有关项目的任务?

  • 创建基于 Windows Presentation Foundation 的应用程序 (.exe) 或用户控件 (.dll) 的项目。默认情况下,这两类项目均可以充分利用 Windows Presentation Foundation (WPF) 的功能。

  • 创建基于 Silverlight 1.0 的应用程序的项目。

  • 添加新的可扩展应用程序标记语言 (XAML) 文件(及相应的代码隐藏文件),以在应用程序中创建顶级窗口、用户控件、可导航页面或能够包含可重用样式、控件模板、画笔资源等的资源字典。

  • 向项目中添加现有文件或链接到现有文件,如图像、XML、视频、音频、许可证、XAML 或代码文件。

  • 添加对 .dll 中所含的现有自定义控件的引用(仅适用于 WPF 和 Silverlight 2)。自定义控件也可包含在现有的源代码文件(.vb 或 .cs)中。当您将自定义控件添加到 Expression Blend 项目之后,就可以像使用 Expression Blend 附带的控件一样使用自定义控件。有关 .cs 文件中包含的自定义控件的示例,请参阅动手试验:创建自定义 WPF 控件

    Cc294780.alert_tip(zh-cn,Expression.10).gif提示:

    向 Expression Blend 项目中添加包含自定义控件的源代码文件之后,必须先生成项目,然后才能在“工具箱”中的“资源库”的“用户控件”选项卡里看到这些控件。

  • 向解决方案中添加新项目(仅适用于 WPF 和 Silverlight 2)。您可以在 Expression Blend 2 WPF 项目中添加现有项目或链接到现有项目。

  • 打开项目中的文件。XAML 文件会在美工板上打开以供编辑,图像文件可以插入到活动文档中,而声音和视频文件则会在动画时间线中打开。Silverlight 1.0 项目中的 JavaScript 代码隐藏文件会通过 JavaScript 编辑器在美工板上打开。任何文件都可以在映射到相应的文件类型的外部编辑器中打开。例如,如果在 Expression Blend 的“项目”面板中的“文件”下双击某个 .xml 文件,则该文件很可能会在“记事本”中打开。如果已安装 Microsoft Visual Studio 2008,则代码文件将会在其中打开。有关详细信息,请参阅编辑代码隐藏文件

  • 打开 WPF 应用程序、Silverlight 1.0 网站或 Silverlight 2 应用程序的 Visual Studio 2008 项目或解决方案并创建 UI。

  • 通过生成 (Ctrl+Shift+B) 或运行 (F5) 应用程序,对其进行调试,并根据“结果”面板中可能出现的任何错误消息采用解决措施。

Cc294780.7e183f1f-37d8-4dcb-980c-19a5d61ca087(zh-cn,Expression.10).gif返回页首

在 Expression Blend 中可以创建哪些内容而无需使用代码?

  • 通过从“工具箱”添加和转换元素,然后利用“属性”面板中的画笔和其他属性来设置这些元素的样式,设计应用程序的外观 (UI)。有关详细信息,请参阅控件绘制形状和路径版式外观

  • 在应用程序中动态显示元素。有关详细信息,请参阅动画

  • 将视频或音频文件添加到美工板上之后,在项目中修改其时间线。有关详细信息,请参阅媒体

  • 利用用户操作(如单击按钮或将指针移到某个元素上)来触发动画时间线、音频文件和视频文件。有关详细信息,请参阅触发器与用户交互性(仅适用于 WPF)和事件处理和用户交互(仅适用于 WPF 和 Silverlight 2)。

  • 创建并设计自定义用户控件(仅适用于 WPF 和 Silverlight 2)。用户控件是可以在 Expression Blend 中创建的一种项目类型。用户控件和 Visual Studio 2008 中开发的自定义控件的使用方式相同。有关示例,请参阅动手试验:创建 WPF 用户控件从现有对象创建控件

  • 自定义现有控件的外观,然后将生成的样式模板应用于同一类型的其他控件(仅适用于 WPF 和 Silverlight 2)。您还可以向控件模板中添加动画。有关示例,请参阅简单样式中列出的主题。

  • 通过单击“属性”面板中的某个属性的名称,然后单击“转换为新资源”,创建诸如画笔资源的其他可重用资源(仅适用于 WPF 和 Silverlight 2)。有关示例,请参阅创建画笔或颜色资源

  • 通过使用“工具”菜单上的选项,将元素转换成按钮和画笔资源,或者将图像转换成三维对象(仅针对 WPF)。有关示例,请参阅用对象生成按钮将二维图像转换为三维

  • 将元素的属性绑定到其他属性包含的值(仅针对 WPF)。这在很多情况下都非常有用,例如使元素的宽度与滑块条相对应。有关示例,请参阅动手试验:创建并应用值转换器

  • 将元素的属性绑定到数据源,例如 XML 文件(仅适用于 WPF)或公共语言运行时 (CLR) 对象(仅适用于 WPF 和 Silverlight 2)。有关如何使用 XML 数据源的示例,请参阅动手试验:创建 RSS 新闻阅读器

  • 添加自定义类的代码文件,这些自定义类可在应用程序中进行实例化。有关示例,请参阅动手试验:创建自定义 WPF 控件在 Silverlight 应用程序中创建控制 Storyboard 的按钮

Cc294780.7e183f1f-37d8-4dcb-980c-19a5d61ca087(zh-cn,Expression.10).gif返回页首

哪些任务只能以代码的方式来执行?

  • 当用户与应用程序的 UI 元素进行交互时,在事件处理程序中定义更复杂的行为。您可以对事件处理程序进行编程以对按键、鼠标操作等做出响应。有关事件的列表,请参阅 WPF 事件快速参考。这与动画、媒体和视频的事件触发器不同。例如,事件处理程序允许使用数学等式来编程控制应用程序的行为。有关示例,请参阅创建新的事件处理程序方法

    Cc294780.alert_note(zh-cn,Expression.10).gif说明:

    Silverlight 1.0 应用程序中的所有用户交互都是通过使用 JavaScript 事件处理程序来完成的。有关示例,请参阅在 Silverlight 应用程序中创建控制 Storyboard 的按钮

  • 自定义现有控件的行为或者创建新的自定义控件。有关基于 WPF Button 控件的自定义控件的示例,请参阅动手试验:创建自定义 WPF 控件

  • 向数据表中加载诸如 Microsoft SQL Server 的数据,并将其转换为可在 Expression Blend 中使用的 CLR 数据对象(仅适用于 WPF 和 Silverlight 2)。有关示例,请参阅动手试验:创建 CLR 对象数据源

  • 创建值转换器(仅适用于 WPF 和 Silverlight 2),以向数据绑定添加自定义逻辑。如果要将一个元素的属性绑定到数据类型不兼容的属性,这就非常有用。有关示例,请参阅动手试验:创建并应用值转换器

Cc294780.7e183f1f-37d8-4dcb-980c-19a5d61ca087(zh-cn,Expression.10).gif返回页首

哪些任务只能在 Visual Studio 2008 中执行?

  • 在运行应用程序时,通过逐行执行代码来调试应用程序。有关详细信息,请参阅在 Visual Studio 2008 中调试 Expression Blend 应用程序

  • 编辑代码文件。在 Expression Blend 的“项目”面板中双击某个代码文件时,如果已安装 Visual Studio 2008,便会在其中打开该文件。有关详细信息,请参阅编辑代码隐藏文件

    Cc294780.alert_tip(zh-cn,Expression.10).gif提示:

    如果要更改代码文件,在 Visual Studio 2008 中打开项目要比仅仅打开代码文件更有用。如果在 Visual Studio 2008 中打开项目,则可以使用智能感知功能。该功能可以在您键入某些字词时帮助完成填写。例如,在 Expression Blend 2 中创建一个新项目,保存该项目,然后在 Visual Studio 2008 中打开该项目。打开 Window1.xaml.cs 文件,将光标置于 this.InitializeComponent(); 后面的空白行的开头,然后键入 LayoutRoot。此时将出现一个下拉列表,其中显示了您能够在此行中键入的所有内容。如果在“LayoutRoot”之后添加一个点,该列表将改为显示 Window1.xaml 文件中的“LayoutRoot”元素的所有可用属性和方法。

  • 添加对包含 WPF 控件的项目文件或 COM API 的引用。Expression Blend 支持对项目文件(如 .csproj 文件)的引用,并完全按照处理对 .dll 或 .exe 文件的引用的方式进行处理。

Cc294780.7e183f1f-37d8-4dcb-980c-19a5d61ca087(zh-cn,Expression.10).gif返回页首

Expression Blend 如何帮助您添加代码?

  • Expression Blend 可根据情况针对使用“添加新项”向导创建的任何 XAML 文件来创建相应的代码隐藏文件。在 Expression Blend 的“项目”面板中双击某个代码文件时,如果已安装 Visual Studio 2008,便会在其中打开该文件。有关详细信息,请参阅编辑代码隐藏文件

  • 当您在“属性”面板的“事件”Cc294780.6c67bb3b-e8a2-4a63-bad5-54d5c15b04dd(zh-cn,Expression.10).png 视图中双击某个事件时,Expression Blend 可为空的事件处理程序方法生成代码(仅适用于 WPF 和 Silverlight 2)。

    Cc294780.alert_note(zh-cn,Expression.10).gif说明:

    当创建 Silverlight 1.0 项目时,Expression Blend 2 将在 Page.xaml.js 文件中生成示例 MouseLeftButtonDown 事件处理程序方法。有关如何修改事件处理程序方法的示例,请参阅在 Silverlight 应用程序中创建控制 Storyboard 的按钮

    Expression Blend 会将该方法的最初代码复制到剪贴板上。如果安装了 Visual Studio 2008,则 Expression Blend 将自动在 Visual Studio 2008 中打开项目,并将该方法粘贴到代码隐藏文件中。否则,可以手动打开该文件并将其粘贴到代码中。接下来,您可以在事件处理程序方法中添加编程逻辑,也可以将代码文件发送给其他负责添加编程逻辑的人员。有关详细信息,请参阅事件处理和用户交互

    Cc294780.alert_tip(zh-cn,Expression.10).gif提示:

    您可以在同一台计算机上的 Expression Blend 和 Visual Studio 2008 中同时打开同一项目文件。如果您保存了对其中一个系统内的某个文件所做的更改,那么当您切换到另一个系统时便会收到通知,询问是否要重新加载该文件。

    Cc294780.alert_tip(zh-cn,Expression.10).gif提示:

    如果有多个人同时从事同一项目,我们建议您使用版本控制系统,如 Microsoft Visual SourceSafe。版本控制系统可以维护项目文件的中心库,您可以签出项目文件并在本地计算机上进行编辑。这样,您可以防止其他人在您修改文件期间签出文件。您也可以对某些版本控制系统进行配置以合并多个人对同一文件所做的更改。Visual SourceSafe 与 Visual Studio 实现了集成,因此您可以在 Visual Studio 中打开某个文件,将其签出。有关详细信息,请参阅 MSDN 上的 Visual SourceSafe(上述链接可能指向英文页面)部分。

Cc294780.7e183f1f-37d8-4dcb-980c-19a5d61ca087(zh-cn,Expression.10).gif返回页首

可以从何处获得有关编写代码的帮助?

如果需要获得有关编写 Expression Blend 应用程序代码的帮助,可以使用学习资源和社区资源中列出的某个资源。其中包括指向新闻组讨论的链接。有关在 Silverlight 1.0 项目中编写 JavaScript 的帮助,请访问 Silverlight 学习中心(此链接可能指向英文页面)。另请参阅学习资源和社区资源

Cc294780.7e183f1f-37d8-4dcb-980c-19a5d61ca087(zh-cn,Expression.10).gif返回页首