TabControl,TabItem,UserControl获得焦点

时间:2013-08-15 08:02:35

标签: wpf

我有TabItem的TabControl。

我在所选的TabItem上显示了UserControl。我的UserControl上有ComboBox(带有GotFocus =“UserControl_GotFocus”)。

我希望在UserControl获得焦点时捕获事件。

这是我的方法:

private void UserControl_GotFocus(object sender, RoutedEventArgs e)
{
    EventTypeSelection.Items.Add("Focus catched!");

}  

这里的问题是每次我在ComboBox上选择项目时都会调用UserControl_GotFocus。

  1. 我的问题的正确解决方案是什么?
  2. 如果我想在第一次发生时才抓住Focus事件,那么最佳解决方案是什么?
  3. 谢谢!

1 个答案:

答案 0 :(得分:1)

如果第一次调用GotFocus处理程序,则添加一个布尔参数进行注册:

private isFirstTime = true;

private void UserControl_GotFocus(object sender, RoutedEventArgs e)
{
    if (isFirstTime) 
    {
        EventTypeSelection.Items.Add("Focus caught!");
        isFirstTime = false;
    }
} 

或者,您可以移动监控GotFocus上的UserControl事件,而不是ComboBox处理事件。