1

我有一个扩展 UserControl 的类

我有几个标签,我想识别何时选择了一个标签,所以我有这个:

     this.GotFocus += new RoutedEventHandler(OnGotFocus);

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

所以我的问题是:当我第一次选择一个选项卡时,会调用 OnGotFocus 方法,但是当我选择其他一些选项卡并再次选择它时,由于某种原因它不会被调用,任何知道为什么吗?

提前致谢!

4

1 回答 1

0

您正在使用 WPF 的选项卡控件吗?

你为什么要这样做this.GotFocus....this在这种情况下到底是什么?

GetFocus如果你想在选择a 时被调用,你应该这样做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)
{

}

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

于 2011-05-17T16:06:24.020 回答