Мы могли вызвать метод Navigation.PushAsync
только в ContentPage . В вашем случае CardView является подклассом Frame, поэтому он никогда не будет работать.
Лучшее решение - вызвать метод в Code Behind (ViewModel или ContentPage). Поскольку вы использовали Custom View. Было бы лучше обрабатывать logi c с помощью привязки данных.
Если вы действительно хотите вызвать метод в CardView, вы можете определить свойство в App и передать текущая навигация из ContentPage.
в App.xaml.cs
public INavigation navigation { get; set; }
в ContentPage
Примечание. Вам необходимо вызвать следующие строки в каждой ContentPage.
public xxxContentPage()
{
InitializeComponent();
var app = App.Current as App;
app.navigation = this.Navigation;
}
в CardView
var app = App.Current as App;
var navigation = app.navigation;
navigation.PushAsync(xxx);