导航到页面时未执行 ViewModel 构造函数,mvvm

ViewModel constructor not executed when page is navigated to, mvvm

我有一个要导航到的 PopUp 页面。我遇到的问题是在调试代码时从不执行构造函数。我在这个应用程序中有其他页面都可以正常工作,还有另一个弹出页面可以正常执行构造函数。

我在 ViewModel 位置使用 Prism Mvvm。我仔细检查了所有命名空间是否正确,您将在下面看到所有这些。如果有人以前遇到过这个,请帮我解决这个问题。该视图也在我的 App.xaml.cs 中注册为 Navigation

查看

<popup:PopupPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:d="http://xamarin.com/schemas/2014/forms/design"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:popup="clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"
             xmlns:templates="clr-namespace:MyApp.Views.Templates;assembly=MyApp"
             xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
             prism:ViewModelLocator.AutowireViewModel="True" 
             mc:Ignorable="d"
             x:Class="MyApp.Views.UserProfileView">
    <ScrollView VerticalOptions="Center">
        <Frame Margin="15"
               BackgroundColor="White">
            <StackLayout IsClippedToBounds="True"
                         Padding="10, 5"
                         Spacing="3">
                <Label Text="Test"/>
                <Button Text="Go Back" Command="{Binding GoBackCommand}"/>
            </StackLayout>
        </Frame>
    </ScrollView>
</popup:PopupPage>

视图模型

namespace MyApp.ViewModels
{
    public class UserProfileView : BaseViewModel
    {
        private INavigationService _navigationService;
        public DelegateCommand GoBackCommand { get; }
    public UserProfileView(INavigationService navigationService)
    {
        _navigationService = navigationService;
        GoBackCommand = new DelegateCommand(async () => await _navigationService.GoBackAsync());
    }
}

我如何导航到上面的页面

private async void NavigateToUserProfileView()
{
    await _navigationService.NavigateAsync("UserProfileView");
}

除非问题中有拼写错误,并且除非已更改默认约定,否则视图 UserProfileView 的视图模型应称为 UserProfileViewModel 以供 ViewModelLocator.