Навигация не существует в текущем контексте Xamarin Comunity Toolkit Extensions

Я хочу открыть всплывающее окно с помощью расширений набора инструментов сообщества xamarin, но когда я пытаюсь вызвать Navigation, он говорит, что его не существует, даже если я включил xct.extensions. Есть NavigationExtensions, но я не знаю, что я должен передать в качестве первого параметра, и он говорит, что мой FilterPopup имеет неправильный тип

      using Xamarin.CommunityToolkit.Extensions;

namespace Appointments.ViewModels
{
    public class WallViewModel
    {
        public ObservableCollection<Stylist> Stylists { get; set; }

        public AsyncCommand OpenModalFiltersComand;
        public WallViewModel()
        {
            OpenModalFiltersComand = new AsyncCommand(OpenModalFilters);
        }

        async Task OpenModalFilters()
        {
            NavigationExtensions.ShowPopup(AppShell, FilterPopup);
            Navigation    // error
        }
    }
}

Мой фильтр

      namespace Appointments.Popups
{
    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class FilterPopup : Popup
    {
        public FilterPopup()
        {
            InitializeComponent();
        }
    }
}

РЕДАКТИРОВАТЬ --------- Я использую навигацию по оболочке

1 ответ

Решение

ShowPopup занимает INavigationи экземпляр А PopupBase. Navigation является собственностью Page типы, поэтому ваша виртуальная машина не имеет ссылки на нее.

      var nav = App.Current.MainPage.Navigation;
var filter = new FilterPopup();

NavigationExtensions.ShowPopup(nav, filter);
Другие вопросы по тегам