我有一个带有此进度条的mainpage.xaml:
<ProgressBar x:Name="DataLoading" Height="10" Margin="0,-14,0,0" Grid.Row="1" VerticalAlignment="Top" IsIndeterminate="True"/>
现在我需要在调用webservice后让这个进度条的可见性崩溃?我会去哪里得到它?请帮助我是非常新的mvvm和windowsphone dev?请告诉我还有哪些代码可以给我一个答案谢谢 1
答案 0 :(得分:2)
只需向您的ViewModel添加bool属性IsDataLoading
即可。使用Visibilty将其值绑定到ProgressBar
的{{3}}属性。根据您的Web服务状态将IsDataLoading
属性设置为true和false。
<Grid>
<Grid.Resources>
<BooleanToVisibiltyConverter x:Key="bool2VisConverter" />
</Grid.Resources>
<ProgressBar Visibility="{Binding IsDataLoading, Converter={StaticResource bool2VisConverter}}" />
</Grid>
答案 1 :(得分:0)
在ViewModel中:
private bool _isBusy;
public bool IsBusy
{
get
{
return _isBusy;
}
set
{
if (value == _isBusy)
return;
_isBusy = value;
DispatcherService.BeginInvoke(() =>
{
RaisePropertyChanged(() => IsBusy);
});
}
}
视图中的进度条:
<ProgressBar IsIndeterminate="True" Visibility="{Binding IsBusy, Converter={StaticResource VisibilityConverter}}" />