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