Liaison WPF à l'info-bulle

Pas sûr de quoi faire ici, mais la liaison fonctionne pour l'étiquette dans le modèle de données, mais pas la pointe de l'outil. Toute aide sera appréciée.

                    <DataTemplate DataType="Label">
                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
                        <StackPanel.ToolTip>
                            <ToolTip DataContext="{Binding Path=PlacementTarget,
       RelativeSource={x:Static RelativeSource.Self}}">
                                <TextBlock Text="{Binding Path=DataContext.Description}" />
                            </ToolTip>
                        </StackPanel.ToolTip>
                        <Image Source="{StaticResource ApplicationInfoS}" 
                               Margin="0 0 5 0" Stretch="None"
                               HorizontalAlignment="Left" />
                        <Label Style="{StaticResource lblTextContent}" 
                               Padding="5 0 0 0"
                               Content="{Binding Path=DataContext.Description, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}}"/>
                    </StackPanel>
                </DataTemplate>

BTW le DataTemplate est utilisé dans la Listview. Propriété "Description" existe sur le modèle de vue lié à l'affichage de la liste.

J'obtiens le message dans la fenêtre de sortie dans VS2010 est:

Système.De Windows.Erreur de données: 39 : BindingExpression erreur de chemin d'accès: "Description" de la propriété ne se trouvent pas sur l '"objet" "Chaîne" (HashCode=-466763399)'. BindingExpression:Path=DataContext.Description; DataItem='StackPanel' (Name="); élément cible est " TextBlock (Nom="); cible de la propriété est de "Texte" (de type 'String')

Mise à JOUR

J'ai abandonné pour l'instant. À l'aide de la suite de hack pour le moment:

Ajouter une Balise à un StackPanel et Lier "Description"

    <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Tag="{Binding Path=DataContext.Description, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}}">

Lier l'info-bulle pour le Tag. Oui un hack, mais il fonctionne.

<StackPanel.ToolTip>
  <ToolTip DataContext="{Binding Path=PlacementTarget, RelativeSource={x:Static RelativeSource.Self}}">
    <TextBlock Text="{Binding Path=Tag}" />
  </ToolTip>
</StackPanel.ToolTip>

Acclamations

Mike

source d'informationauteur ozczecho | 2010-11-03