WPF事件

WPF引用路由事件,这些事件用来调用应用程序的元素树上的各种监听器上的处理程序。

路由事件主要有三种策略:冒泡、直接、隧道

(1)冒泡,这种事件处理方式是从源元素向上级流过去,直到到达根节点(页或窗体)

(2)直接,这种处理方式是在源上处理,主要用在setter和trigger

(3)隧道,又称作 Preview 事件,元素树的根处调用事件处理程序,依次向下直到源。

隧道事件和冒泡事件一般成对出现。同一对事件,执行时首先是隧道事件,然后冒泡事件。

可以再XAML或者代码中为控件添加事件,两者效果是一样的。

1.在XAML中添加事件

 (1)为容器所有button添加事件

  <StackPanel Button.Click="PanelButtonClick">
    <Button Name="Button1" Width="Auto" >Yes</Button>
    <Button Name="Button2" Width="Auto" >No</Button>
  </StackPanel>

(2)添加单个对象事件,只对当前元素有效

<Button Name="Button1" Width="Auto" Click="ButtonClick">Yes</Button>

2.在代码中添加事件

this.Button1.AddHandler(Button.ClickEvent, new RoutedEventHandler(Onb1Click));

void Onb1Click(object sender, RoutedEventArgs e)

{

}

3.WPF窗体生命周期

从APP的run()开始,到加载控件,激活窗体,再到关闭,所经历的主要事件有下面几个:

(1)Initialized:当窗口的FrameworkElement底层初始化时触发,即InitializeComponent方法调用时触发。

       在构造函数之后立刻执行。

(2)LocationChanged:窗口被移动时触发。

(3)Activated:窗口被激活时触发。如果显示窗口之前将ShowActivated 设置为 false,这个将被跳过。

(4)Deactivated:窗口处于非激活时(即其他窗口处于激活时)触发。

(5)Loaded:显示窗口之前触发。

(6)ContentRendered:当内容显示的时候触发。

(7)Closing:尝试关闭窗口时触发,可以将参数CancelEventArgs的Cancel的属性设置为true,取消关闭操作。

(8)Unloaded:当关闭窗口并且从可视化树移除后触发。

(9)Closed:在窗口关闭后触发该事件,无法取消。

 

转载于:https://www.cnblogs.com/liujp/archive/2012/08/10/2632041.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值