天天看點

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