У меня проблема с навигацией в приложении. Когда через несколько раз я больше не могу ориентироваться, когда я использую кнопки как оборудования, так и кнопки панели действий, чтобы вернуться на главную страницу, иногда экран даже зависает, я много искал и где-то читал, что может быть чем-то на заднем плане главной страницы, В моем случае это страница как CustomRenderer, но это не должно быть проблемой, потому что она все еще перемещается несколько раз, я пытался удалить градиент с фона, оставляя белый (по умолчанию), пока не переместился немного, но продолжает зависать приложение или просто больше не просматриваете.
Стоит отметить, что при вставке точки останова в команду, которая выполняет навигацию, в 100% случаев, когда она все еще проходит в строке для навигации, я не знаю, что может происходить.
Используемые рамки: PRISM
App.xaml.cs:
protected override async void OnInitialized()
{
InitializeComponent();
await NavigationService.NavigateAsync("NavigationPage/" + nameof(DashboardPage));
}
Пример градиентного рендерера:
public class GradientPageRenderer : PageRenderer
{
protected override void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
if (e.OldElement == null) // perform initial setup
{
var page = e.NewElement as ContentPage;
var gradientLayer = new CAGradientLayer();
gradientLayer.Frame = View.Bounds;
gradientLayer.Colors = new CGColor[]
{
((Color)App.Current.Resources["DefaultGreenColor"]).ToCGColor(),
((Color)App.Current.Resources["DefaultPurpleColor"]).ToCGColor()
};
View.Layer.InsertSublayer(gradientLayer, 0);
}
}
}
Проблема возникает на iOS и Android.