我在C#/ XAML WinRT应用程序中使用托管在服务器上的图像.当下载该图像时,我希望它能够淡入.我注意到了我希望使用的FadeInThemeAnimation.但是,我想像EntranceThemeTransition一样使用它.有没有办法做到这一点?如果是这样,怎么样?
解决方法
我遇到了同样的问题,但找到了一个解决方案,我认为分享它可能仍然有用.
显然,FadeInThemeAnimation是一种特殊的动画,不像你想象的那样对Opacity和Visibility起作用,但是在一个项目的RenderTransform上.我只是在使用FadeOutThemeAnimation淡出项目时才设法使它工作.
但这是一个解决方法.在您的XAML中,将Storyboard添加到图像容器的Resources中,如下所示:
<Grid> <Grid.Resources> <Storyboard x:Name="ImageFadeInStoryboard"> <DoubleAnimation From="0" To="1" Storyboard.TargetName="yourImage" Storyboard.TargetProperty="Opacity" Duration="0:0:0.6" /> </Storyboard> </Grid.Resources> <Image x:Name="yourImage" Source="{Binding ...}"/> ...
然后为图像的ImageOpened事件添加一个处理程序:
<Image x:Name="yourImage" Source="{Binding ...}" ImageOpened="OnImageOpened"/>
在代码隐藏中:
private void OnImageOpened(object sender,RoutedEventArgs e) { ImageFadeInStoryboard.Begin(); }
希望有帮助:)