Xamarin Shell повышают неоднозначные маршруты в соответствии с исключением - PullRequest
0 голосов
/ 12 октября 2019

В Xamari.Forms я использую следующее объявление маршрута в AppShell.xaml :

 <FlyoutItem Title = "Toolbox"
             FlyoutDisplayOptions="AsMultipleItems"
             Route="Main">

      <ShellContent Title = "Toolbox"
                    ContentTemplate="{DataTemplate Views:Toolbox}"
                    Route="Toolbox"/>

 </FlyoutItem>

 <ShellContent Title = "Parameters"
               ContentTemplate="{DataTemplate Views:Parameters}"
               Route="Parameters"/>

В AppShell.xaml.cs добавляюпрограммно навигация по контекстной странице для страницы Toolbox :

public AppShell ()
{
    InitializeComponent ();

    Routing.RegisterRoute("Toolbox/TBOuvriers", typeof(TBOuvriers));

    BindingContext = this;
}

Когда я пытаюсь отобразить навигацию по контекстной странице со страницы Toolbox: await Shell.Current.GoToAsync ("// Main / Toolbox / TBOuvriers");

Я получаю это исключение:

System.ArgumentException: неоднозначные маршруты соответствуют: // Main / Toolbox / TBOuvriers совпадений найдено:// Главная / Инструменты / TBOuvriers / TBOuvriers,// Главная / IMPL_Toolbox / Инструменты / TBOuvriersИмя параметра: uri

Непосредственно перед вызовом я вижу эти значения для переменных оболочки: Shell.Current.CurrentItem: "Title = Toolbox, Route = Main"Shell.Current.CurrentState.Location: "{// Main / Toolbox}"

Которые кажутся ожидаемыми.

Если я пытаюсь отобразить страницу с этим вызовом:
awaitShell.Current.GoToAsync ("TBOuvriers");
Я также получаю исключение: System.Exception: превышено время ожидания для получения сведений об исключении

Итак, в чем проблема?
Откуда берутся эти маршруты?!?
Почему страница Toolbox 2 раза регистрируется?

Все идеи приветствуются!

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...