带加载动画的WPF图像

时间:2015-04-18 11:08:57

标签: c# wpf xaml

我正在尝试在加载源代码时使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;
}

1 个答案:

答案 0 :(得分:1)

Simle解决方案:将Image控件放在显示加载动画的控件的顶部(例如,将两者放在同一个Grid内)。只要图像没有完全加载它就是透明的,让加载动画闪耀,加载完成后它会自动隐藏动画。