如何在选中TabItem时动态设置事件处理程序?

时间:2010-04-21 23:05:59

标签: c# wpf tabitem

在XAML中你可以做到

<TabItem Selector.Selected="myEvenHandler"></TabItem>

为选择该选项卡时设置事件处理程序。我怎样才能动态完成同样的事情。如果我可以帮助它,我宁愿不使用TabControl的SelectionChanged事件。显然,TabItem上有一个Selected事件,我似乎无法在代码中获得它。这就是我想做的事。

TabItem item = new TabItem();
MyCustomControl mcc = new MyCustomControl();
item.Content = mcc;
item.Selected += (s,e) =>  // This event does not exist
{
    selectedControl = mcc;
}
myTabControl.Items.Add(item);

1 个答案:

答案 0 :(得分:2)

根据Selector.Selected attached event的文档,在“C#语法”部分中:

  

请参阅AddSelectedHandlerRemoveSelectedHandler

他们的页面实际上没有指向AddSelectedHandler和RemoveSelectedHandler页面的超链接,但它们是您想要查看的位置。所以你的代码看起来像是:

Selector.AddSelectedHandler(item, (s,e) =>
{
    selectedControl = mcc;
});