C# Telerik RadBusyIndicator未从MVVM ViewModel更新

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" /> 视图模型代码

最初RadBusyIndicatior正在运行,但当调用DoRefresh并更新数据时,RadBusyIndicatior仍在运行,我也尝试了双向绑定,但没有成功

请让我知道我做错了什么。我只想在数据加载后禁用RadBusyIndicator

Xaml:

<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);
    }
}