Telerik RadBusyIndicator未从MVVM ViewModel更新
本文关键字:ViewModel 更新 MVVM 未从 RadBusyIndicator Telerik | 更新日期: 2023-09-27 18:29:27
最初RadBusyIndicator正在运行,但当调用DoRefresh()并更新数据时,RadBusyindicator仍在运行,我也尝试了双向绑定,但没有成功。
请告诉我我做错了什么。我只想在数据加载后禁用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;
}
}));
}
}
您需要使用Set
方法的正确重载,以便引发PropertyChanged
事件:
public bool ShowLoading
{
get { return showLoading; }
set
{
showLoading = value;
Set<bool>(() => ShowLoading, ref showLoading, value);
}
}