WPF事件

WPF事件

WPF控件结构是树型的。

逻辑树(logic Tree):颗粒度到控件的树。

可视元素树(Visual Tree):颗粒度到控件的组件的树。

LogicalTreeHelper

 

GetChildren获取指定元素的子集合

FindLogicalNode 获取逻辑节点

GetParent 获取父亲节点

BringIntoView 显示控件到事业范围内,通常是由滚动条的时候。

 

 

WPF路由事件:

<StackPanel x:Name="sk">

            <StackPanel Margin="20">

                <Button Content="测试1" Height="30" Width="40"></Button>

            </StackPanel>

 

 

            <StackPanel>

                <Button Content="测试2" Height="30" Width="40"></Button>

            </StackPanel>

        </StackPanel>

 

 

 

 

  public MainWindow()

        {

            InitializeComponent();

 

            sk.AddHandler(Button.ClickEvent, new RoutedEventHandler(Button_Click));

 

        }

 

        private void Button_Click(object sender, RoutedEventArgs e)

        {

            Button button = e.OriginalSource as Button;

            MessageBox.Show(button.Content.ToString());

        }

 

 

 

 

 

路由事件和传统WINFORM事件的不同点,

Sender 不在是原始的按钮了,e.OriginalSource才是原始的事件来源的控件。

e.Handled = true;  表示事件被处理了,就不会沿着树传播了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值