J'ai un contrôle qui se développe lorsque IsMouseOver est défini sur true à l'aide d'un déclencheur. Dans ce contrôle, il y a quelques zones de texte qui ont une validation de base. Mon problème est que lorsqu'une erreur de validation survient et que l'utilisateur survole la bordure rouge autour de la zone de texte (presque garantie que l'utilisateur déplace la souris au centre de la zone de texte pour changer la valeur), IsMouseOver est défini sur false et le contrôle se ferme .IsMouseOver retournant False lors d'un ContextMenu ou d'une erreur de validation?
erreur de validation pour Encadrés:
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="ToolTip" Value="{Binding
Path=(Validation.Errors)[0].ErrorContent,
RelativeSource={x:Static RelativeSource.Self}}" />
</Trigger>
</Style.Triggers>
</Style>
Trigger pour montrer le contrôle:
<DataTrigger Binding="{Binding ElementName=TabControl_TabPanel, Path=IsMouseOver}" Value="True">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
MISE À JOUR: IsMouseOver est également se définie sur False quand je clic droit sur une zone de texte et ouvre la menu contextuel
Je suppose que c'était quelque chose d'autre .... Le contrôle est un panneau "coulissant" où la languette est sur le bord de l'écran et déplace votre souris dessus fait glisser le contrôle et affiche son contenu. Je suppose que je vais voir si je peux trouver une autre façon de le mettre ensemble. – Rachel
J'ai retravaillé le code pour définir la visibilité en fonction de MouseEnter/MouseLeave. Dans l'événement MouseLeave j'ai vérifié pour voir si la position de la souris était toujours dans les limites du contrôle et laissé le contrôle visible si c'était le cas. – Rachel