我有一个扩展UserControl的类
我有几个标签,我想知道选择标签的时间,所以我有这个:
this.GotFocus += new RoutedEventHandler(OnGotFocus);
private void OnGotFocus(object sender, System.EventArgs e)
{
if (DataContext != null)
{
((SomeViewModelClass)DataContext).SetActiveTab();
}
}
所以我的问题是:当我第一次选择一个标签时,会调用OnGotFocus方法,但是当我选择其他一些标签,然后再次选择它时,它不会被调用一些原因,任何人都知道为什么?
提前致谢!
答案 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)
{
}
如果我误解了您的要求,请告诉我