2010-03-18 6 views
1

Dans mon application, j'ai essayé d'implémenter la visibilité de l'infobulle en fonction de la longueur du texte de la DataGrid Column à l'aide d'un convertisseur. Je rencontre des problèmes lors de l'affichage du texte toolTip.WPF - Affichage de l'info-bulle de la colonne DataGrid en fonction de la longueur des données de la colonne

Dans l'info-bulle, la liaison de texte de TextBlock ne fonctionne pas. Si c'est lié à certaines chaînes codées en dur, cela fonctionne bien.

Ci-dessous est le code que j'ai ajouté pour la colonne de la grille ...

<Custom:DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <TextBlock Text="{Binding Text}"> 
           <TextBlock.ToolTip> 
            <ToolTip 
             DataContext="{Binding Path=PlacementTarget, RelativeSource={x:Static RelativeSource.Self}}" 
             Visibility="{Binding Converter={StaticResource ToolTipVis}}"> 
             <TextBlock Text="{Binding Text}"> 

            </ToolTip> 
           </TextBlock.ToolTip> 
          </TextBlock> 
         </DataTemplate> 
        </Custom:DataGridTemplateColumn.CellTemplate> 
+0

Avez-vous réussi à obtenir ce travail? – TabbyCool

Répondre

5

Le DataContext de votre info-bulle est réglé sur System.Windows.Controls.TextBlock, puisque vous avez défini comme RelativeSource .Soi.

Si vous perdez le ToolTip DataContext, vous devriez pouvoir lier à votre propriété Text.

Vous devrez peut-être changer votre convertisseur de liaison pour refléter ce bien, mais je ne suis pas sûr que je ne l'ai pas testé ...

<ToolTip 
    Visibility="{Binding Path=PlacementTarget, 
     RelativeSource={x:Static RelativeSource.Self}, 
     Converter={StaticResource ToolTipVis}}">> 
    <TextBlock Text="{Binding Path=Text}"/> 
</ToolTip> 
+0

Merci pour votre réponse. Cela fonctionne bien ... –

+0

Cool, heureux d'aider. Pouvez-vous accepter la réponse pour moi s'il vous plaît? Merci :-) – TabbyCool

Questions connexes