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

相关文章
MFC基本控件4-列表框控件List Box
MFC基本控件4-列表框控件List Box
|
前端开发
datagrid combobox 选择后显示valueField 而不是 textValue解决方法
datagrid combobox 选择后显示valueField 而不是 textValue解决方法
WPF-样式问题-处理ListBox、ListView子项内容全填充问题
WPF-样式问题-处理ListBox、ListView子项内容全填充问题
230 0
如何解决WPF中 ScrollViewer 内包含 TreeView 或者 ListBox 等控件时滚轮事件被劫持的问题
如何解决WPF中 ScrollViewer 内包含 TreeView 或者 ListBox 等控件时滚轮事件被劫持的问题
为控件动态添加Style
原文:为控件动态添加Style 此文可解决:  重写控件时,给控件加入子控件或父控件的样式切换问题。 很灵活的可以根据不同内容显示不同样式   子控件作用在: ...
836 0
|
C#
在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色
原文:在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色 在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色 例如根据学生的年龄来修改,年龄小...
3062 0
|
C#
WPF DataGrid 每行ComboBox 内容不同的设置方法
原文:WPF DataGrid 每行ComboBox 内容不同的设置方法 ...
1095 0