Не уверен, что здесь делается, но привязка работает для метки в шаблоне данных, но не для подсказки. Любая помощь будет оценена.
<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>
Кстати, DataTemplate используется в Listview. Свойство "Описание" существует в модели представления, связанной с представлением списка.
Сообщение, которое я получаю в окне вывода в VS2010:
Ошибка System.Windows.Data: 39: Ошибка пути BindingExpression: свойство 'Description' не найдено в 'object' '' String '(HashCode = -466763399)'. BindingExpression: Path = DataContext.Description; DataItem = 'StackPanel' (Name= ''); целевым элементом является "TextBlock" (Name= ''); target является "Text" (тип "String" )
UPDATE
Я сейчас отказался. Используя следующий хак пока:
Добавить тег в StackPanel и привязать к нему "Описание"
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Tag="{Binding Path=DataContext.Description, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}}">
Привязать подсказку к тегу. Да, взлом, но он работает.
<StackPanel.ToolTip>
<ToolTip DataContext="{Binding Path=PlacementTarget, RelativeSource={x:Static RelativeSource.Self}}">
<TextBlock Text="{Binding Path=Tag}" />
</ToolTip>
</StackPanel.ToolTip>
Приветствия
Mike