J'utilise un TabControl comme espace de travail principal dans une application, et j'aimerais ajouter un élément de menu «Window» qui répertorie les en-têtes des onglets ouverts. L'onglet actif (c'est-à-dire focalisé) doit être vérifié.Liaison TabControl.Items à MenuItem
J'ai essayé d'utiliser un ItemsTemplate comme suit:
<MenuItem Header="_Window" ItemsSource="{Binding ElementName=ux_workspace, Path=Items}">
<MenuItem.ItemTemplate>
<DataTemplate>
<MenuItem Header="{Binding Path=Header}" IsCheckable="True" IsChecked="{Binding IsFocused, Mode=OneWay}">
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
Chaque MenuItem est alors « imbriqués », pour ainsi dire, à l'intérieur d'un autre MenuItem, ce qui est vraiment pas le résultat escompté (la case à cocher est dans la zone d'en-tête, et il y a une bordure séparée autour de l'élément interne).
Y a-t-il une meilleure façon de procéder?
Merci d'avance.
Andy - brillant, merci pour votre réponse rapide et efficace. J'ai dû faire un changement à votre code pour soutenir mes buts (enlevé le setter IsCheckable et ajouter un gestionnaire de clic pour focaliser le TabItem approprié) mais autrement cela a fonctionné parfaitement. Je voterais la réponse utile mais je n'ai pas encore assez de réputation (juste un débutant). Merci. – Malcolm
En fait, la réponse correcte est de marquer cette réponse comme acceptée, alors montrez que vous avez trouvé la réponse que vous cherchiez. Cliquez sur la coche sous le nombre de votes pour accepter la réponse. – Andy
Merci, Andy. Newbie frappe à nouveau ...;) – Malcolm