码迷,mamicode.com
首页 > Windows程序 > 详细

WPF TabControl控件-事件相关问题

时间:2016-04-18 17:00:08      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:

TabControl控件的TabItem的Content元素,例如:DataGrid控件,在对事件的处理时,需要对事件的源引起关注,当需要处理DataGrid的事件时,事件会传递到TabControl中,解决这种问题的方法如下:

方法一:判断触发此事件的源是谁,根据事件的源再做相应处理

private void tabControl_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    if (e.Source is TabControl) 
    { 
      //do something
    } 
}

方法二:注册DataGrid等相应控件的相应事件,使其不再向上传递

private void dataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
   e.Handled = true;
}

引发问题扩展:  无法动态设置当前项。。

例如: 如果在需要使用TabItem的内容元素DataGrid的双击事件时,

void dataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
    //do something
        }

如果没有加上e.Handled = true; 这句, 而此时恰恰我们需要动态改变TabControl的选择项时,我们会面对这样一个问题,无论我们怎么改变下面这个值,它的值总会变为我们处理双击事件时的Item页面中。

this.tabControl.SelectedItem = newTabItem;

WPF TabControl控件-事件相关问题

标签:

原文地址:http://www.cnblogs.com/sunqiliang/p/5404888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!