1

私のアプリケーションには、Web 経由でストリーミングされる多くのメディア要素があります。そのために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 に答える