jk's notes
  • ch11 事件 和 Code-behind

ch11 事件 和 Code-behind

应用最终还是需要包含代码的. 在 WPF 中采用名为 code-behind 的方法将事件等处理代码放在另一个文件中. 在 VS 中这个操作非常容易.

看起来在 VSCode 中开发 WPF 几乎是不可能的, 还是需要基于 VS 来实现. 太多的预制代码 (模板), 以及一些固定格式的代码需要生成.

code-behind 文件

在添加 XAML 文件的时候, IDE 会自动生成背后的 cs 文件.

然后, 作者描述了在 IDE 工具等中如何打开对应的文件.

在 XAML 中, 给控件添加 Name 属性, 在 c# 代码中就可以使用该名字来引用该控件.

示例代码

略

事件名属性

介绍了怎么添加事件

  • 在 XAML 中, 使用事件名属性, 并赋值一个事件处理函数的名字
  • 在 c# 代码中, 提供对应的事件处理函数

然后作者给出了几个事件的例子, 有滚动控件 ValueChanged 事件, 文本框的 TextChanged 事件, 以及按钮的 Click 事件.

在 Expression Blend 中创建事件处理程序

略

在 Visual Studio 中创建事件处理程序

略

双击控件

使用属性窗口

使用 XAML 智能提示

然后介绍了 VisualBasic 中的情况

运行时添加事件处理程序

简单来说, 就是:

  • 确保控件的名字可以引用该控件.
  • 在构造函数中使用 控件名 += 事件处理函数 的形式动态绑定事件处理程序.

THE HANDLES CLAUSE

略, Visual Basic 中的情况.

小结

Last Updated:
Contributors: jk