WPF学习系列028: 3.3.4 附加事件
来源:互联网 发布:删除mysql注册表 编辑:程序博客网 时间:2024/06/16 18:57
-
- 通过对附加事件的定义,WPF路由事件的管道传递和冒泡,可以通过一个没有定义过该事件的元素来完成。
- 每个路由事件都可以被当作附加事件使用
3.3.4 附加事件
例如:
XAML文件
<Window x:Class="WpfApplication1.AboutDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="About WPF Unleashed"
ListBox.SelectionChanged="ListBox_SelectionChange"
ButtonBase.Click="Button_Click"
SizeToContent="WidthAndHeight"
Background="OrangeRed">
<StackPanel>
<Label FontWeight="Bold"
FontSize="20"
Foreground="White">
WPF Unleashed (Version 3.0)
</Label>
<Label>
© 2006 SAMS Publishing
</Label>
<Label>
Installed Chapters:
</Label>
<ListBox>
<ListBoxItem>
Chapter 1
</ListBoxItem>
<ListBoxItem>
Chapter 2
</ListBoxItem>
</ListBox>
<StackPanel Orientation="Horizontal"
HorizontalAlignment="Center">
<Button MinWidth="75"
Margin="10">
Help
</Button>
<Button MinWidth="75"
Margin="10">
OK
</Button>
</StackPanel>
<StatusBar>
You have successfully registered this product.
</StatusBar>
</StackPanel>
</Window>
对应的代码隐藏文件
using System.Windows;
using System.Windows.Controls;
namespace WpfApplication1
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class AboutDialog : Window
{
public AboutDialog()
{
InitializeComponent();
}
private void ListBox_SelectionChange(object sender, SelectionChangedEventArgs e)
{
if (e.AddedItems.Count > 0)
{
MessageBox.Show("You just selected " + e.AddedItems[0]);
}
}
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("You just clicked " + e.Source);
}
}
}
注意:由于Window并没有定义它自己的SelectionChanged事件或Click事件,因此事件特性名称必须拥有定义这些事件的类名称作为前缀。
- WPF学习系列028: 3.3.4 附加事件
- WPF学习系列024: 3.3 路由事件
- WPF附加事件定义
- wpf的附加事件
- WPF学习系列023: 3.2.5 附加属性
- WPF学习系列025: 3.3.1 路由事件的实现
- WPF学习系列027: 3.3.3 路由事件实践
- Wpf学习系列1 路由事件
- WPF中的事件(三)- 附加事件
- WPF--事件、路由事件、附加事件的区别
- WPF学习系列026: 3.3.2 路由策略和事件处理程序
- WPF学习--路由事件
- WPF路由事件的学习
- WPF基础路由事件学习
- WPF学习之路由事件
- WPF路由事件学习笔记
- WPF学习之路由事件
- WPF(附加属性)
- WPF学习系列023: 3.2.5 附加属性
- WPF学习系列024: 3.3 路由事件
- WPF学习系列025: 3.3.1 路由事件的实现
- WPF学习系列026: 3.3.2 路由策略和事件处理程序
- WPF学习系列027: 3.3.3 路由事件实践
- WPF学习系列028: 3.3.4 附加事件
- WPF学习系列029: 3.4 命令
- WPF学习系列031: 3.4.2 使用输入手势执行命令
- WPF学习系列030: 3.4.1 内建命令
- WPF学习系列032: 3.4.3 带有内建命令绑定的控件
- VSS 错误:File names.dat may be corrupt 修复
- Flex 画虚线类
- where in 加变量问题
- some OMT 概念