2009-07-22 11 views
1

J'ai une zone de liste déroulante avec un DataTemplate. Le DataTemplate a deux contrôles, chacun d'eux ayant une info-bulle attachée à celui-ci. La liste des éléments de la zone de liste déroulante a les info-bulles comme prévu lorsque vous passez la souris sur chaque contrôle. Mais la zone d'élément sélectionnée en haut de la zone de liste déroulante n'affiche pas les info-bulles, bien que les contrôles soient rendus comme prévu. Y a-t-il un moyen de forcer l'affichage des info-bulles?Affichage d'une info-bulle sur une zone de liste déroulante à partir du modèle d'élément (WPF)

Répondre

0

Si vous utilisez Mole ou quelque chose de similaire, assurez-vous que votre contrôle avec le ToolTIp attaché a IsHitTestVisible = "True". Sinon, le contrôle n'écoute pas les événements de souris et ne reconnaîtra pas que l'info-bulle doit être affichée en premier lieu.

Vous pouvez également vouloir lier l'info-bulle de l'élément sélectionné au ContentPresenter dans la zone de liste déroulante car, après sélection, votre objet SelectedItem devient le contenu de la zone de liste déroulante. Vous devrez peut-être remplacer le modèle ComboBox et vous assurer que ContentPresenter peut accepter la saisie de la souris afin de forcer la visibilité de votre info-bulle.

+0

Non, je n'utilise rien de tel. Est-il possible de lier au contentpresenter sans faire un nouveau modèle? J'ai considéré les modèles, mais ils semblent toujours être une masse de copier-coller de Blend, et ne changent pas de thèmes en conséquence. – Jamie

+0

Dans ce cas, la méthode la plus simple consiste à définir manuellement l'info-bulle sur le contrôle ComboBox lui-même lorsque l'événement SelectionChanged se déclenche. –

Questions connexes