如何创建加载动画[关闭]

问题描述 投票:1回答:2

我的应用程序中有许多媒体元素通过Web流式传输。有时候我需要等2-3秒才能完成。这对我来说不是问题。问题是我不知道如何制作某种加载动画。我有一个加载栏的动画GIF,但我不知道如何显示它。有任何想法吗 ?

xaml microsoft-metro windows-runtime winrt-xaml windows-store-apps
2个回答
9
投票

你不需要它的GIF。有一个XAML Control ProgressRing。将它的IsActive属性绑定到指示您正在加载的属性。

就像是:

public class DataService : BindableBase
{
    private bool _isLoading;

    public bool IsLoading 
    {
        get 
        {
            return _isLoading;
        }
        set 
        {
            SetProperty(ref _isLoading, "IsLoading");
        }
    }

    public void MyMethodWhichTakesLongTime() 
    {
        IsLoading = true;

        // Do some time consumption

        IsLoading = false;
    }
}

对于XAML,例如:

<ProgressRing IsActive="{Binding IsLoading}" 
              DataContext="{Binding MyDataService}" 
              Width="50" 
              Height="50" />

由于绑定(以及来自标准MS模板的BindableBase(否则您需要实现INotifyPropertyChanged))当您的数据服务正在执行某些操作时,ProgressRing将自动激活。


2
投票

ProgressBar也可用,它是类似于Windows Phone 7的水平加载栏

对于不确定的进度条,您可以使用

<ProgressBar Visibility="Visible" IsIndeterminate="True" />
© www.soinside.com 2019 - 2024. All rights reserved.