Как я могу динамически установить обработчик события для TabItem, когда он выбран? - PullRequest
1 голос
/ 22 апреля 2010

В XAML вы можете сделать

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

для установки обработчика события, когда выбрана эта вкладка. Как я могу сделать то же самое динамически. Я бы предпочел не использовать событие SelectionChanged в TabControl, если смогу помочь. Ясно, что есть событие Selected в TabItem, которое я просто не могу найти в коде. Вот что я хотел бы сделать.

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 Ответ

2 голосов
/ 22 апреля 2010

Согласно документации для Selector. Выбранное вложенное событие , в разделе «Синтаксис C #»:

См. AddSelectedHandler , RemoveSelectedHandler

На их странице нет гиперссылок на страницы AddSelectedHandler и RemoveSelectedHandler, но они именно там, где вы хотите посмотреть.Таким образом, ваш код будет выглядеть примерно так:

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