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 事件。

目录
打赏
0
0
0
0
6
分享
相关文章
datagrid combobox 选择后显示valueField 而不是 textValue解决方法
datagrid combobox 选择后显示valueField 而不是 textValue解决方法
C# 根据Combobox控件来动态显示TabControl下的子元素
  根据下来列表来动态显示TabControl下的元素     需要准备两个控件:Combobox (命名为:cbPrjType)和 TabControl (命名为:tabPrjType),TabControl下面有六个子元素分别是:tabPage1,tabPage2,tabPage3,tabPag...
1061 0
easyui combobox设置只读属性
$("#id").combobox('readonly',true); //只读   $("#id").combobox('readonly',false); //取消只读
1738 0
为控件动态添加Style
原文:为控件动态添加Style 此文可解决:  重写控件时,给控件加入子控件或父控件的样式切换问题。 很灵活的可以根据不同内容显示不同样式   子控件作用在: ...
849 0
c# WinForm 中 treeview实现整行选择
设置TreeView.FullRowSelect 属性为true。如果选择突出显示跨越树视图控件的整个宽度,则为 true;否则为 false。默认为 false。 注意: 当 FullRowSelect 为 true 时,选择突出显示将跨越树视图的整个宽度,即整个显示区域的宽度而不仅仅是树节点标签的宽度。
1360 0
WPF TreeView 选择事件执行两次,获取TreeView的父节点的解决方法
1.TreeView选择事件执行两次 Very often, we need to execute some code in SelectedItemChanged depending on the selected TreeViewItem.
1180 0
从 DataGridView 控件 托放数据 到 TreeView控件(二)
前面已经实现了从 DataGridView 拖放数据到 TreeView.不过拖放是通过 鼠标右键完成的. 根据windows的一般标准,是通过鼠标左键来进行数据拖放操作的.像windows资源管理器,既能处理鼠标左键单机的选择,也能处理左键拖放操作.
1062 0
从 DataGridView 控件 托放数据 到 TreeView控件
实现方法,在datagridview的mousedown事件中开始 托放。然后在treeview 的 DragEnter 中接收托放。最后在treeview的 DragDrop 中处理托放结果。注:treeview的allowdrop属性要设置为 true。
740 0