l'ajout de la visibilité conditionnelle de contrôle WPF info-bulle
je voudrais faire un textblock info-bulle visibles de façon conditionnelle.
j'ai l'info-bulle défini comme:
<TextBlock>
<TextBlock.ToolTip>
<Grid>...</Grid>
</TextBlock.ToolTip>
</TextBlock>
où serait la visibilité de la propriété aller dans cette définition? il ne semble pas comme un de mes suppositions.
il y a quelques suggestions de simplement de travailler avec grille de visibilité. le problème avec cette approche est de rendre la grille invisible montrent encore une info-bulle vide de la boîte.. c'est pourquoi je suis en train de contrôle de l'info-bulle de la visibilité.
Vous devez vous connecter pour publier un commentaire.
De l'essayer. Il ne laissera pas un cadre vide.
Ici vous allez,
<ToolTip>
. La bonne solution est<TextBlock Text="Dummy text" ToolTipService.IsEnabled="{Binding ShowMyToolTip}">
TextBlock avec son info-bulle:
L'objet d'une liaison avec le TextBlock:
Le convertisseur:
Je me rends compte c'est d'un an, mais vous pouvez le faire dans le code-behind.
Si vous souhaitez définir une propriété, vous pourriez le faire, et de le lier à la visibilité. N'oubliez pas de mettre en œuvre l'interface INotifyPropertyChanged sur votre fenêtre.
Quelque chose comme:
et puis le lier à la propriété de visibilité que
Je suis en train de taper ceci principalement à aider la personne qui vient à travers cela à partir de ce point en avant. Je devine que vous n'êtes pas encore coincés sur ce, un an plus tard, OP. =)
Comment sur la création d'un style personnalisé pour info-bulle ? De cette façon, vous pouvez ré-utiliser les mêmes fonctionnalités à plusieurs endroits, avec un minimum de code.
Ajoutez à cela un resourcedictionary et de l'inclure à l'endroit où vous souhaitez monter par défaut info-bulle comportement -
Suivie par le convertisseur -
Espère que cela aide..
Amit
Une solution beaucoup plus simple que les autres réponses:
où
MakeToolTipVisible
est votre propriété.Vous devez définir la visibilité sur la grille :
Si vous ne'e voulez de l'info-bulle pour voir cadre vide. Vous devez créer une info-bulle ControlTemplate avec tout votre nécessaire de grille et textblocks et de l'attribuer à l'info-bulle de modèle. Cela pourrait vous aider à résoudre le cadre vide de problème.
Exemple: je veux stocker des informations à propos de la ligne et de les ajouter à ma toile