最初RadBusyIndicatior正在运行,但是当DoRefresh()调用并且Data已经更新时,RadBusyIndicatior仍然在运行,我也尝试过双向绑定,但没有运气。
请让我知道我做错了什么。我只想在加载数据后禁用RadBusyIndicator。
Xaml:
<telerikPrimitives:RadBusyIndicator Name="loading" IsRunning="{Binding ShowLoading}" Visibility="Visible" />
ViewModel代码:
public class NewReleaseViewModel : ViewModelBase
{
public ObservableCollection<NewRelease> NewReleases { get; set; }
public NewReleaseViewModel()
{
NewReleases = new ObservableCollection<NewRelease>();
showLoading = true;
}
private bool showLoading;
public bool ShowLoading
{
get { return showLoading; }
set { showLoading = value;
Set<bool>(ref showLoading, value); }
}
private RelayCommand _refresh;
public RelayCommand Refresh
{
get
{
return _refresh ?? (_refresh = new RelayCommand(async () =>
{
try
{
await DoRefresh();
ShowLoading = false;
}
finally
{
ShowLoading = false;
}
}));
}
}
答案 0 :(得分:0)
您需要使用Set
方法的正确重载,以便引发PropertyChanged
事件:
public bool ShowLoading
{
get { return showLoading; }
set
{
showLoading = value;
Set<bool>(() => ShowLoading, ref showLoading, value);
}
}