来自其他Viewmodel的Xamarin MVVM更新列表

时间:2017-04-18 15:38:58

标签: c# android xamarin mvvm

我在Xamarin Cross Platform工作 安卓 我有2个Viewmodels -MyTeamVM -CertificatesVM

MyTeamVm是一个列表视图,我可以点击一个人。点击后,我转到CertificatesVM,在那里我将看到被点击的人的证书。  问题是我第一次点击人时一切正常,因为程序转到:(这是在certificateVM中)

protected override async Task InitializeAsync()
        {
            var user = _userDataService.GetSelectedUser();
            Certificates = (await _earnedCertificateDataService.GetCertificateForUserAsync(user.Id));
        }

但是当我回到MyTeamView并选择其他人时,他不会更新列表。我有一个

public MvxCommand ReloadCertificates
        {
            get
            {
                return new MvxCommand(async () =>
                {
                    var user = _userDataService.GetSelectedUser();
                    Certificates = (await _earnedCertificateDataService.GetCertificateForUserAsync(user.Id));
                });
            }
        }

但它不起作用。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

您可以使用 MessagingCenter 来调用其他viewModel列表

https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/messaging-center/