我正在尝试在加载源代码时使WPF中的图像控件动画化。
我找到了一个解决方案,为Windows 8 Metro开发准备,它包含ImageOpened
事件,在普通的WPF图像控件中不存在。
你知道在加载时使图像显示加载动画的任何解决方案吗?
也许有些库有这种图像控制?
这是我为Win 8 dev找到的ImageLoader控件:
<Grid>
<Image x:Name="imgDisplay" Source="{Binding ElementName=parent,Path=Source}"
ImageFailed="OnImageFailed"
ImageOpened="OnImageOpened" />
<ContentControl
Visibility="{Binding ElementName=parent,Path=IsLoading,Converter={StaticResource converter}}"
Content="{Binding ElementName=parent,Path=LoadingContent}"
VerticalContentAlignment="Stretch"
HorizontalContentAlignment="Stretch" />
<ContentControl Visibility="{Binding ElementName=parent,Path=IsFailed,Converter={StaticResource converter}}"
Content="{Binding ElementName=parent,Path=FailedContent}"
VerticalContentAlignment="Stretch"
HorizontalContentAlignment="Stretch" />
</Grid>
这里缺少事件处理程序:
void OnImageOpened(object sender, RoutedEventArgs e)
{
this.IsLoading = false;
this.IsLoaded = true;
}
答案 0 :(得分:1)
Simle解决方案:将Image
控件放在显示加载动画的控件的顶部(例如,将两者放在同一个Grid
内)。只要图像没有完全加载它就是透明的,让加载动画闪耀,加载完成后它会自动隐藏动画。