1

我的應用程序中有很多媒體元素通過網絡流式傳輸。有時我需要等待2-3秒。這對我來說不是問題。問題是我不知道如何製作某種加載動畫。我有一個加載欄的動畫GIF,但我不知道如何顯示它。有任何想法嗎 ?如何創建加載動畫

回答

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" /> 

得益於結合(與BindableBase這是從標準的MS模板(否則你需要實現INotifyPropertyChanged) )當你的數據服務正在做某事時,ProgressRing會自動激活。

+0

酷是一直需要什麼樣的我!十分感謝 – Fixus

2

進度也可以,這是類似Windows Phone 7的

不確定的進度欄的水平荷載的酒吧,你可以使用

<ProgressBar Visibility="Visible" IsIndeterminate="True" />