В моем приложении WPF у меня есть элемент управления с обратной связью, который я хочу появиться после завершения действия пользователя (сохранить данные, удалить...). Для видимости установлено значение Скрытый для начала, а стиль - стиль animateFadeOut, определенный как ресурс (см. Ниже). Затем я хочу установить текст и управлять видимостью видимым в моем коде на С#, а управление обратной связью отображает сообщение и исчезает через 5 секунд и остается скрытым (Visibility.Hidden).
Следующий XAML работает при первом вызове control.Visiblity = Visibility.Visible, но элемент управления не появляется снова во второй раз. Я полагаю, что это связано с тем, что анимация все еще работает, и она контролирует контроль обратной связи. Затем я попытался установить FillBehavior на "Stop", но это снова заставило элемент управления увидеть снова, и я хочу, чтобы он был скрыт. Затем, с помощью FillBehavior = "Стоп", я попытался установить триггер "когда Opacity = 0, установите видимость в скрытую". Триггер, похоже, не срабатывал, и я снова остался с видимым контролем после завершения анимации.
Пожалуйста, помогите указать, что я делаю неправильно здесь.
В качестве альтернативы, если вы можете предложить лучший способ отображения элемента управления, который исчезает через 5 секунд и может быть вызван снова и снова, я был бы признателен.
Спасибо!
<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>