UserControl选项卡焦点不起作用

时间:2011-05-17 15:35:45

标签: c# wpf user-controls tabs onfocus

我有一个扩展UserControl的类

我有几个标签,我想知道选择标签的时间,所以我有这个:

     this.GotFocus += new RoutedEventHandler(OnGotFocus);

     private void OnGotFocus(object sender, System.EventArgs e)
            {
                if (DataContext != null)
                {
                    ((SomeViewModelClass)DataContext).SetActiveTab();
                }
            }

所以我的问题是:当我第一次选择一个标签时,会调用OnGotFocus方法,但是当我选择其他一些标签,然后再次选择它时,它不会被调用一些原因,任何人都知道为什么?

提前致谢!

1 个答案:

答案 0 :(得分:0)

你正在使用WPF的Tab Control吗?

你为什么要做this.GotFocus....?在这种情况下,this究竟是什么?

如果您希望在选择GetFocus时调用Tab,则应执行此类操作。

XAML(示例标签)

  <TabControl>
            <TabItem x:Name="table1"></TabItem>
            <TabItem x:Name="table2"></TabItem>
            <TabItem></TabItem>
        </TabControl>

背后的代码

//register event for each individual tab

table1.GotFocus += new RoutedEventHandler(table1_GotFocus);
table2.GotFocus += new RoutedEventHandler(table2_GotFocus);

private void table1_GotFocus(object sender, RoutedEventArgs e)
{
}

private void table2_GotFocus(object sender, RoutedEventArgs e)
{

}

如果我误解了您的要求,请告诉我