当前上下文中不存在导航 Xamarin 社区工具包扩展
Navigation does not exist in current context Xamarin Comunity Toolkit Extensions
我想使用 xamarin 社区工具包扩展打开一个弹出窗口 window 但是当我尝试调用
导航它说它不存在,即使我已经包括 xct.extensions。有 NavigationExtensions 但我不知道我应该作为第一个参数传递什么,它说我的 FilterPopup 是 incorect 类型
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
}
}
}
我的 FilterPopup
namespace Appointments.Popups
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class FilterPopup : Popup
{
public FilterPopup()
{
InitializeComponent();
}
}
}
编辑----------
我正在使用 shell 导航
ShowPopup
采用 INavigation
和 PopupBase
的 实例 。 Navigation
是 Page
类型的 属性,因此您的 VM 没有对它的引用。
var nav = App.Current.MainPage.Navigation;
var filter = new FilterPopup();
NavigationExtensions.ShowPopup(nav, filter);
我想使用 xamarin 社区工具包扩展打开一个弹出窗口 window 但是当我尝试调用 导航它说它不存在,即使我已经包括 xct.extensions。有 NavigationExtensions 但我不知道我应该作为第一个参数传递什么,它说我的 FilterPopup 是 incorect 类型
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
}
}
}
我的 FilterPopup
namespace Appointments.Popups
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class FilterPopup : Popup
{
public FilterPopup()
{
InitializeComponent();
}
}
}
编辑---------- 我正在使用 shell 导航
ShowPopup
采用 INavigation
和 PopupBase
的 实例 。 Navigation
是 Page
类型的 属性,因此您的 VM 没有对它的引用。
var nav = App.Current.MainPage.Navigation;
var filter = new FilterPopup();
NavigationExtensions.ShowPopup(nav, filter);