2010-04-21 5 views
1

En XAML vous pouvez faireComment puis-je définir dynamiquement le gestionnaire d'événements pour un TabItem lorsqu'il est sélectionné?

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

pour définir le gestionnaire d'événements lorsque cet onglet est sélectionné. Comment puis-je faire exactement la même chose de façon dynamique. Je préférerais ne pas utiliser l'événement SelectionChanged de TabControl si je peux l'aider. Il est clair qu'il y a un événement Selected sur le TabItem que je n'arrive pas à trouver dans le code. Voici ce que j'aimerais faire.

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); 

Répondre

2

Selon les docs pour le Selector.Selected attached event, dans le "C# Syntaxe" section:

Voir AddSelectedHandler, RemoveSelectedHandler

Leur page n'a pas réellement des liens hypertextes vers le AddSelectedHandler et RemoveSelectedHandler pages, mais ils sont là où vous voulez regarder. Donc, votre code ressemblerait à quelque chose comme:

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

+1 Ouais, on dirait que je manquais en utilisant System.Windows.Controls.Primitives; – juharr

Questions connexes