Je n'ai que deux semaines dans le document WPF, donc c'est probablement une question triviale. J'ai une collection "Celllist" qui a quelques propriétés que je voudrais lier à un Merci. P> P> info-bulleTip code> de sorte que lorsque je passe sur une étiquette des informations de l'instance actuelle de
Celllist code> est affichée . Comment je fais ça? Je comprends une simple liaison et ce peut-être une simple liaison aussi mais je ne peux pas envelopper ma tête autour de lui. Vous trouverez ci-dessous mon xaml pour l'étiquette. Est-ce que quelqu'un pourrait m'expliquer comment je peux accomplir cela.
3 Réponses :
<Label Content={Binding Path=Id} ToolTip={Binding Path=Name}/> just try this
Que ferais-je pour une info-bulle plus élaborée? Celui qui montre de multiples propriétés dedans.
La chose délicate à propos de à la place, ce que vous avez à faire est de créer une instance spécifique d'une info-bulle et d'attribuer C'est un style qui définit son donc, voici un Il utilise cette ToolTip Code>: P> info-bulle code> s est qu'un
info-bulletips code> est un objet que vous associez avec un contrôle et non de l'arborescence visuelle du contrôle. Donc, vous ne pouvez pas le peuplir la façon dont vous remplissez les choses dans l'arbre visuel, par exemple:
dataContext code> (très important; c'est ainsi que vous pouvez lier les propriétés de la source de données de sa "cible de placement", c'est-à-dire le contrôle qui affiche l'info-bulle) et son
Modèle code>. Ensuite, mettez l'arborescence visuelle du
ToolTip code>, y compris les fixations, dans le modèle. Enfin, référez le
ToolTip Code> dans votre contrôle. p>
Textbox code> dont la liaison code> est validation: p>
<Style x:Key="ErrorToolTipStyle" TargetType="{x:Type ToolTip}">
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="HasDropShadow" Value="True"/>
<Setter Property="DataContext" Value="{Binding Path=PlacementTarget.DataContext, RelativeSource={RelativeSource Self}}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToolTip">
<Border
Name="Border"
BorderThickness="1"
BorderBrush="LightGray">
<StackPanel Orientation="Vertical">
<Label Background="Firebrick" Foreground="White" FontWeight="Bold" Margin="4">Validation error</Label>
<TextBlock Margin="10" Text="{Binding ValidationError}"/>
</StackPanel>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="HasDropShadow" Value="true">
<Setter TargetName="Border" Property="CornerRadius" Value="4"/>
<Setter TargetName="Border" Property="SnapsToDevicePixels" Value="true"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Conseil: si vous mettez cela dans les ressources locales (Usercontrol.Resources) ou un dictionnaire global assurez-vous de définir le