Я написал прикрепленное свойство, которое хранит среди других текст справки. Этот текст справки отображается в правой части главного окна. Это прекрасно работает.Привязать к приложенному имуществу
Теперь я хочу добавить всплывающую подсказку для каждого элемента управления. Содержимое всплывающей подсказки должно быть таким же, как и для расширения helptext.
код XAML:
<ListView ctrl:ListViewLayoutManager.Enabled="true"
x:Name="ListViewSources"
ItemsSource="{Binding SourceItems}"
ItemContainerStyle="{DynamicResource ListViewItemStyleAlternate}"
Height="150"
MinWidth="350"
Helper:HelpExtension.IsControl="true"
Helper:HelpExtension.HelpText="{x:Static strings:GUIResource.HelpProfilesSourcesDescriptionText}" >
<ListView.ToolTip>
<ToolTip Style="{DynamicResource Own_TooltipStyle}"></ToolTip>
</ListView.ToolTip>
И теперь код стиля:
<Style x:Key="Own_TooltipStyle" TargetType="{x:Type ToolTip}">
<Setter Property="Background" Value="LightYellow"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToolTip}">
<Grid>
<TextBlock Text="{Binding Path=Helper:HelpExtension.HelpText, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListView}}}" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Если я запускаю программу, я получаю ошибку связывания:
System.Windows.Data Error: 39 : BindingExpression path error: 'Helper:HelpExtension' property not found on 'object' ''ListView' (Name='ListViewSources')'. BindingExpression:Path=Helper:HelpExtension.HelpText; DataItem='ListView' (Name='ListViewSources'); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
кого-ли знаете, как я могу привязать TextBlock к содержимому Помощника: HelpExternsion.HelpText?
Код стиля отсутствует. Добавьте его, отредактировав сообщение. – gehho
Я предполагаю, что вы имеете в виду прикрепленное свойство, а не расширение разметки ... –