使用reactiveui的构造函数出现错误



我有一个视图模型,它有两个视图模型作为属性:

public class PokemonViewModel : ReactiveObject, IEnableLogger
{
private readonly IPokemonService PokemonService;
[Reactive]
public PokemonListViewModel PokemonListViewModel { get; set; }

private readonly ObservableAsPropertyHelper<PokemonDetailsViewModel> pokemonDetailsViewModel;
public PokemonDetailsViewModel PokemonDetailsViewModel => pokemonDetailsViewModel.Value;
public PokemonViewModel(IPokemonService pokemonService = null)
{
PokemonService = pokemonService ?? Locator.Current.GetService<IPokemonService>();
PokemonListViewModel = new PokemonListViewModel();
pokemonDetailsViewModel = this.WhenAnyValue(x => PokemonListViewModel.SelectedPokemon)
.SelectMany(GetPokemonDetailsViewModelAsync)
.ToProperty(this, x => x.PokemonDetailsViewModel);
}
//private methods...
}   

PokemonListViewModel包含一个未在构造函数上初始化的SelectedPokemon属性,因此在启动时为null

鉴于此,当我运行应用程序时,我会得到以下错误:"Unsupported expression of type 'Constant'. Did you miss the member access prefix in the expression?"

我该如何解决这个问题?

在WhenAnyValue调用中应该是x => x.PokemonListViewModel

最新更新