编写将对事件做出响应的代码
Microsoft Expression Blend 可用于开发各种基于 Windows 的应用程序以及可与用户输入交互的用户界面 (UI)。例如,如果您希望应用程序启动一条动画时间线,以便在用户移动鼠标时移动一个球,则可以使用 Expression Blend 中的一些功能来配置这种关系。也可以配置应用程序,对应用程序本身状态的改变做出响应。
在 Expression Blend 应用程序中创建交互式内容
您可以使用事件处理程序使应用程序对用户输入和应用程序变化做出响应。事件处理程序在“事件”面板中设置。(在“属性”面板中,单击“事件”。)
使用事件处理程序运行的过程,不仅仅可以设置属性或控制动画时间线。例如,还可以添加其他编程逻辑:设置另一个对象的属性、加载或创建新文档、使用数学计算来动态显示对象,等等。事件处理程序方法在文档的代码隐藏文件中定义,并且可以用 C# 或 Visual Basic .NET 语言编写。例如,如果文档名为 Window1.xaml,则事件处理程序包含在 Window1.xaml.cs 或 Window1.xaml.vb 文件中,具体取决于所使用的编程语言。
挂钩到事件处理程序方法
Expression Blend 通过为空方法生成代码,可帮助您编写事件处理程序方法。如果安装了 Microsoft Visual Studio 2008 Standard Edition 或更新的版本,Expression Blend 将在 Visual Studio 2008 中打开项目,并打开代码隐藏文件,然后贴入空的事件处理程序方法。如果您没有安装 Visual Studio 2008 Standard Edition 或更新的版本,则 Expression Blend 将空的事件处理程序方法复制到剪贴板中,以便您可以手动打开代码隐藏文件并贴入该方法。有关详细信息,请参阅本用户指南中的创建新的事件处理程序方法。
Expression Blend 在设计时考虑了团队开发。通常,软件团队由处理 UI 的设计人员和处理在 UI 背后运行的代码的编程人员组成。您可能会从开发人员那里收到更改过的代码隐藏文件,开发人员在其中添加了各种可从 UI 挂钩到的事件处理程序方法。您可以在 Expression Blend 中完成此操作。有关详细信息,请参阅挂钩到现有的事件处理程序方法。
编程问题
在编写事件处理程序时,拥有基于 Windows 的应用程序的编程经验非常有用。这归功于 Windows Presentation Foundation (WPF) 线程模型和 UI 呈现的计时方式。例如,如果创建一个事件处理程序方法使之先更新“Label”中显示的文本,再执行其他一些计算,然后在事件处理程序方法完成之前再次更新同一“Label”中的文本,则您将只会看到最后一次更新。这是因为 UI 呈现发生在事件处理程序方法的结尾。由于所有处理都是在同一线程上完成的,因此应用程序不能在对用于更新 UI 的方法的执行过程中超时。有关如何编写具有多个 UI 更新和计算的 WPF 应用程序的信息,请参阅 MSDN 的 WPF 部分中的线程处理模型 主题。