Comment changer l'onglet sélectionné en cliquant sur le bouton dans WPF TabControl avec des boutons dans l'en-tête
J'ai un WPF TabControl
qui a un couple de boutons à l' TabItem
en-tête.
Je veux l'onglet sélectionné à changer quand un headered bouton est cliqué. Ici
est un fragment de code:
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<TabControl>
<TabItem Content="Item 1 Content">
<TabItem.Header>
<StackPanel Orientation="Vertical">
<TextBlock FontSize="14" FontWeight="Bold" Text="Item1"/>
<StackPanel Orientation="Horizontal">
<Button Content="Action 1"/>
<Button Content="Action 2"/>
</StackPanel>
</StackPanel>
</TabItem.Header>
</TabItem>
<TabItem Content="Item 2 Content">
<TabItem.Header>
<StackPanel Orientation="Vertical">
<TextBlock FontSize="14" FontWeight="Bold" Text="Item2"/>
<StackPanel Orientation="Horizontal">
<Button Content="Action 1"/>
<Button Content="Action 2"/>
</StackPanel>
</StackPanel>
</TabItem.Header>
</TabItem>
</TabControl>
</Grid>
</Page>
Cet exemple montre un couple de Tab
s. Un onglet est sélectionné si l'en-tête arrière-plan est cliqué, cependant, si un bouton est cliqué, l'onglet n'est pas sélectionné. Je veux que le bouton pour accepter le clic, mais je veux aussi l'onglet correspondant au bouton sélectionné. Quelqu'un peut-il aider?
Grâce,
Hitesh
source d'informationauteur HiteshP | 2009-07-02
Vous devez vous connecter pour publier un commentaire.
Nous pouvons le faire en utilisant Le Routage Des Événements. RoutedEventsCliquez vont remonter l'arbre de l'élément, jusqu'à ce que quelque chose gère l'événement. De ce fait, vous êtes déjà à la réception de l'événement Cliquez sur l'onglet éléments, nous juste ne pas faire n'importe quoi avec elle encore.
Nous pourrions créer un événement pour gérer le Bouton Cliquez sur l'onglet éléments comme ceci:
Cependant, nous aurions pour le mettre sur chaque onglet, donc au lieu de cela, nous pouvons créer un style pour le TabItems dans le TabControl comme suit:
Maintenant, dans notre gestionnaire d'événements, nous pouvons sélectionner l'onglet qui a été cliqué:
J'ai été faire un petit Tour sur le problème ci-dessus à droite maintenant, et a été en mesure d'y parvenir d'une manière différente, mais encore il serait génial si tu pouvais m'aider dans la façon dont u hv exécuté.
Sur l'événement selectionchanged de la zone de liste j'ai juste changé le selecteditem de l'onglet contrôle à celui que je veux c'est à dire
Ici Tbctrl est le nom du tabcontrol et item2 est le nom de la tabitem dans le tabcontrol qui contient les zones de texte mentionné ci-dessus.
Ce qui concerne,
Dhaval