1

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

4

2 回答 2

9

你不需要它的GIF。有一个 XAML 控件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 将自动激活。

于 2012-10-06T13:03:09.113 回答
2

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

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

<ProgressBar Visibility="Visible" IsIndeterminate="True" />
于 2012-10-06T13:46:04.947 回答