我正在wpf / c#中创建交互式幻灯片控件。我想创建类似于lightbox和coverflow的东西。
我正在使用这种淡化效果:http://www.codeproject.com/Articles/57175/WPF-How-To-Animate-Visibility-Property/?display=Mobile
此代码用于测试封面流:http://d3dal3.blogspot.com/2009/04/wpf-cover-flow-tutorial-part-7.html
如果我在封面流程中没有多少封面,那么一切正常......如果超过5则需要> 3 - 4秒开始淡化动画(动画没问题)。但是,当我淡出这一层并再次淡入时,一切都工作得很好,但是当我重新启动应用程序并希望淡入这个元素时,我需要等待动画超过3,4秒。似乎WPF需要渲染(?)这个折叠元素,然后动画开始...但是如何解决这个问题呢?
这是我的Window代码:
<Window>
<Grid>
.
.
.
. other content
<Border x:Name="panelLoading" Visibility="Collapsed" common:VisibilityAnimation.AnimationType="Fade">
<Grid>
<Border Background="Black" Opacity="0.6">
</Border>
<Grid>
<flow:FlowControl x:Name="flow" Margin="0" Width="1000" Height="800"></flow:FlowControl>
</Grid>
</Grid>
</Border>
</Grid></Window>
答案 0 :(得分:0)
如果我理解你的描述,我的猜测是你在窗口启动时将所有图像加载到内存中。
您可以在主线程中加载第一张图片,然后使用BackgroundWorker加载即将推出的图片。