Мне нужно, чтобы на моем фоновом изображении появилось затухание. Во время работы источник изображения может быть изменен, который работает с установленным привязкой, как ожидалось. В любом случае корреспондирующая анимация не принимает никаких визуальных эффектов. На данный момент мой XAML выглядит следующим образом:UWP - эффект FadeIn на фоновом изображении
xmlns:Interactivity="using:Microsoft.Xaml.Interactivity"
xmlns:Core="using:Microsoft.Xaml.Interactions.Core"
xmlns:Media="using:Microsoft.Xaml.Interactions.Media"
<Page.Content>
<Grid>
<Grid.Background>
<ImageBrush x:Name="image" ImageSource="{Binding Path=ImageSource,UpdateSourceTrigger=PropertyChanged}" Stretch="UniformToFill" >
<Interactivity:Interaction.Behaviors>
<Core:EventTriggerBehavior EventName="ImageOpened" >
<Media:ControlStoryboardAction ControlStoryboardOption="Play">
<Media:ControlStoryboardAction.Storyboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:1" Storyboard.TargetName="image"/>
</Storyboard>
</Media:ControlStoryboardAction.Storyboard>
</Media:ControlStoryboardAction>
</Core:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</ImageBrush>
</Grid.Background>
Когда я использую вместо:
[...]
<Media:ControlStoryboardAction.Storyboard>
<Storyboard>
<FadeInThemeAnimation Storyboard.TargetName="Image" />
</Storyboard>
</Media:ControlStoryboardAction.Storyboard>
я
System.Runtime.InteropServices.COMException: были обнаружены Нет установленных компонентов.
Невозможно решить изображение TargetName. в Windows.UI.Xaml.Media.Animation.Storyboard.Begin() в Microsoft.Xaml.Interactions.Media.ControlStoryboardAction.Execute (объект-отправитель, параметр объекта) в Microsoft.Xaml.Interactivity.Interaction.ExecuteActions (Object отправитель, действия ActionCollection, параметр объекта) в Microsoft.Xaml.Interactions.Core.EventTriggerBehavior.OnEvent (объектный отправитель, объект eventArgs)
Любые идеи?
[Изменить] Благодаря ответу @SWilko, я определяю, что анимация работает только с изображением. Мой код выше работает, если я меняю ImageBrush на изображение, и я помещаю его в сетку (а не Grid.Background).
Спасибо @Swilko за решение. Я установил изображение во время выполнения более одного раза. После выполнения анимации непрозрачность равна 1. Мне нужно сбросить непрозрачность до 0 для каждой анимации. Как я могу это достичь? – Briefkasten
добавлен код за вами, но ваш путь много проще :) – SWilko