En mi aplicación WPF, tengo un control de retroalimentación que quiero que aparezca después de que una acción del usuario finalice (guardar datos, eliminar ...). La visibilidad se establece en Oculto para comenzar y el estilo se establece en el estilo animadoFadeOut definido como un recurso (consulte a continuación). Luego quiero configurar el texto y controlar la Visibilidad para que sea visible en mi código C# y hacer que el control de retroalimentación muestre el mensaje y desaparezca después de 5 segundos y permanezca oculto (Visibility.Hidden).Desvanecimiento WPF en un control
El siguiente XAML funciona la primera vez que llamo control.Visiblity = Visibility.Visible pero el control no vuelve a aparecer la segunda vez. Me imagino que eso se debe a que la animación todavía se está ejecutando, lo que tiene control sobre el control de retroalimentación. Luego intenté establecer FillBehavior en "Stop", pero eso solo hizo que el control se volviera visible y lo quiero ocultar. Luego, con FillBehavior = "Stop", traté de establecer un disparador "cuando Opacidad = 0, establezca la Visibilidad en Oculto". El gatillo no pareció dispararse y me quedé con el control visible una vez más después de que la animación se completó.
Por favor, ayúdenme a señalar lo que estoy haciendo mal aquí.
Alternativamente, si puede sugerir una manera mejor de mostrar un control que se desvanece después de 5 segundos y se puede invocar una y otra vez, se lo agradecería.
Gracias!
<Style TargetType="{x:Type FrameworkElement}" x:Key="animateFadeOut"> <Style.Triggers> <Trigger Property="Visibility" Value="Visible"> <Trigger.EnterActions> <BeginStoryboard > <Storyboard> <DoubleAnimation BeginTime="0:0:5.0" Storyboard.TargetProperty="Opacity" From="1.0" To="0.0" Duration="0:0:0.5"/> </Storyboard> </BeginStoryboard> </Trigger.EnterActions> </Trigger> </Style.Triggers> </Style>
Me tomó un enfoque ligeramente diferente para solucionar el problema ... Lo escribí en C#. (Consulte la publicación a continuación: la sección de comentarios es demasiado pequeña para las publicaciones de códigos) – sondlerd