J'ai écrit une propriété jointe qui stocke entre autres un texte d'aide. Ce texte d'aide est affiché sur le côté droit de la fenêtre principale. Cela fonctionne bien.Lier à une propriété jointe
Maintenant, je veux ajouter une info-bulle pour chaque contrôle. Le contenu de l'info-bulle doit être le même que pour l'extension du texte d'aide.
Le code 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>
Et maintenant, le code du style:
<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>
Si je lance le programme que je reçois l'erreur de liaison:
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')
Quelqu'un savoir comment je peux lier le TextBlock au contenu de Helper: HelpExternsion.HelpText?
Le code du style est manquant. Veuillez l'ajouter en éditant votre message. – gehho
Je suppose que vous voulez dire la propriété jointe, pas l'extension de balisage ... –