TabControl 与 DataGrid 的 SelectionChanged冲突问题

简介: TabControl 与 DataGrid 的 SelectionChanged冲突问题

DataGrid作为TabControl控件的TabItem的content元素。

当操作DataGrid的不同cell时,会引发了TabControl的SelectionChanged事件的问题。

正确的使用方式有2中方法:

方法一:

private void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    if (e.Source is TabControl) 
    { 
      //do work when tab is changed 
    } 
}

此方法可判断引发TabControl的selectionChanged的源是谁,只有TabControl自己才会做一些处理,其他控件不做处理。

方法二:

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

此方法可注册DataGrid的SelectionChanged事件来屏蔽tabControl Changed 事件。

相关文章
|
2月前
|
C# 数据库 虚拟化
43.c#:listbox控件
43.c#:listbox控件
16 1
|
6月前
|
前端开发
datagrid combobox 选择后显示valueField 而不是 textValue解决方法
datagrid combobox 选择后显示valueField 而不是 textValue解决方法
|
测试技术 容器
Easyui datagrid 扩展单元格textarea editor
Easyui datagrid 扩展单元格textarea editor
257 0
DevExpress GridControl Gridview RepositoryItemCheckEdit复选框及获取选择行数据
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gisdoer/article/details/49250373 DevExpr...
1819 0
C#中comboBox控件的一些基本用法小结
private void InitCombo() { dt.Columns.Add("Text"); dt.Columns.Add("Value"); DataRow dr1 = dt.NewRow(); DataRow dr2 = dt.NewRow();
1513 0
flex中datagrid列滚动锁定
原文http://www.cnblogs.com/80hou/articles/1856640.html   熟悉excel的人应该都知道表格中可以将比如标题行/列锁定,使其不滚动,从而便于浏览。flex的datagrid控件也可以实现这样的效果。
974 0