C# Telerik RadBusyIndicator未从MVVM ViewModel更新
最初RadBusyIndicatior正在运行,但当调用DoRefresh并更新数据时,RadBusyIndicatior仍在运行,我也尝试了双向绑定,但没有成功 请让我知道我做错了什么。我只想在数据加载后禁用RadBusyIndicator Xaml:C# Telerik RadBusyIndicator未从MVVM ViewModel更新,c#,windows-phone-8,mvvm,telerik,C#,Windows Phone 8,Mvvm,Telerik,最初RadBusyIndicatior正在运行,但当调用DoRefresh并更新数据时,RadBusyIndicatior仍在运行,我也尝试了双向绑定,但没有成功 请让我知道我做错了什么。我只想在数据加载后禁用RadBusyIndicator Xaml: <telerikPrimitives:RadBusyIndicator Name="loading" IsRunning="{Binding ShowLoading}" Visibility="Visible" /> 视图模型代码
<telerikPrimitives:RadBusyIndicator Name="loading" IsRunning="{Binding ShowLoading}" Visibility="Visible" />
视图模型代码:
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);
}
}