Appliquer une animation sur le contrôle WPF visibilité changement
Mon xaml est
<Grid DockPanel.Dock="Top" >
<DockPanel Background="#bdbec0" MouseEnter="showTopMenu_MouseEnter" HorizontalAlignment="Stretch" Height="55" >
<Button HorizontalAlignment="Center" VerticalAlignment="Center">Down</Button>
</DockPanel>
<DockPanel Background="#151515" LastChildFill="True" Visibility="Collapsed" Name="TopMenuArea" Height="55">
some controls here in a horizontal strip , by default its hidden and when some one click on top button its visible and it wil be hidden when some one click outside this area
</DockPanel>
Et le code pour le bouton de la souris sur est
private void showTopMenu_MouseEnter(object sender, MouseEventArgs e)
{
TopMenuArea.Visibility = Visibility.Visible;
}
Comment puis-je appliquer un effet d'animation lors du changement de la visibilité de TopMenuArea ? Est de toute façon de le faire directement à partir de xaml?
ce que l'animation que vous recherchez?
La visibilité comme effet ou Plus, comme l'Opacité de 1 à 0 et nouveau de 0 à 1
La visibilité comme effet ou Plus, comme l'Opacité de 1 à 0 et nouveau de 0 à 1
OriginalL'auteur Jibin Mathew | 2014-08-13
Vous devez vous connecter pour publier un commentaire.
Eventtrigger
Ou utiliser un style fade in et fade out (avec la souris pour entrer /quitter le gestionnaire d'événements comme vous l'avez fait)
Il suffit de définir le style de vos Ressources de l'Application, ou dans la Fenêtre locale ou UserControl. Vous réutilisez le style d'Animation pour les tout contrôle.
l'utiliser dans vos Stackpanel
simplement manipuler la souris en dehors de l'Événement. et d'ajouter un deuxième Déclencheur. je vais mettre à jour ma réponse
Mais je ne peux utiliser de l'événement Mouseout bof changer la visibilité de effondré. Dans mon cas, je suis en train de la visibilité à collpased uniquement lorsque l'utilisateur cliquez sur n'importe où à l'intérieur d'une autre zone de <nom de grille="contentArea"></grid>
le Problème est ... que lorsque vous définissez la visibilité s'est effondré le contrôle est masqué avant le début de l'Animation dans ce cas 🙂 mais il sera réinitialisé l'opacité à 0
lorsque vous définissez la Effondré et n'importe pas
OriginalL'auteur S.L.
C'est une vieille question, mais j'ai mis en place une bibliothèque open source pour permettre à la décoloration et/ou de la traduction sur la Visibilité changé, de Chargement ou de liaison.
Vous pouvez le trouver à SciChart.Wpf.L'INTERFACE utilisateur.Transitionz sur Github et sur NuGet.
Utilisation:
Qui se traduit par:
OriginalL'auteur Dr. ABT
voici un exemple d'échantillon
dans l'exemple ci-dessus, j'ai mis
IsHitTestVisible="False"
sur le TopMenuArea dockPanel, comme je peux voir qu'il est sur le dessus de la précédente (source pour déclencher panneau)autre option est d'utiliser le TopMenuArea comme la source si il est sur le dessus
échantillon
lui donner un essai et voir si il est proche de ce que vous cherchez.
les deux ci-dessus il suffit de passer l'opacité entre 0 & 1, vous pouvez également utiliser l'animation pour faire un effet de fondu en cas de besoin.
OriginalL'auteur pushpraj
Vous pouvez utiliser
ToggleButton
activée et Désactivée Événement Routé avecEvent Trigger
:Résultat:
OriginalL'auteur tabby
J'ai trouver un moyen de faire progressivement afficher la Grille et masquer la Grille à l'aide de ScaleTransform.
ScaleTransform est définie pour X=0 Y=0 pour masquer, X=1 Y=1 pour montrer,
et de Déclencher à l'aide de
Tag
bien, comme le code ci-dessous:Au ViewModel:
À Vue:
Exemple De Capture D'Écran:
OriginalL'auteur yu yang Jian