2016-06-24 16 views
5

Sto tentando di aggiungere una semplice pagina Dettagli principali a un'applicazione Xamarin già esistente. Ecco la dichiarazione MasterDetailPageXamarin - Master e dettagli devono essere impostati prima di aggiungere MasterDetailPage a un contenitore

<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms" 
        xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
        xmlns:pages="clr-namespace:MyCareManager.XamForms.Pages;assembly=MyCareManager.XamForms" 
        x:Class="MyCareManager.XamForms.Pages.SettingsPage"> 
    <MasterDetailPage.Master> 
    <ContentPage Title="This is the test master page"></ContentPage> 
    </MasterDetailPage.Master> 
    <MasterDetailPage.Detail> 
    <NavigationPage> 
     <x:Arguments> 
     <ContentPage Title="This is a view"></ContentPage> 
     </x:Arguments> 
    </NavigationPage> 
    </MasterDetailPage.Detail> 
</MasterDetailPage> 

Tuttavia, quando si esegue l'applicazione ottengo il seguente errore quando la navigazione attraverso la pagina:

principali e di dettaglio devono essere impostati prima di aggiungere MasterDetailPage a un contenitore

Suppongo che si tratti di autofac che viene utilizzato nell'applicazione come contenitore IOC ma che non è stato in grado di utilizzarlo. Qualcun altro ha sperimentato questo?

risposta

2

Ecco il mio codice in esecuzione se qualcuno ne ha bisogno:

<?xml version="1.0" encoding="utf-8" ?> 
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms" 
      xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
      x:Class="CrossApp1.MenuPage"> 
     <MasterDetailPage.Master> 
      <ContentPage Title="Menu"> 
      <StackLayout Orientation="Vertical"> 
       <Button Text="Sports"/> 
       <Button Text="Economy"/> 
       <Button Text="Education"/> 
       <Button Text="Science"/> 
      </StackLayout> 
      </ContentPage> 
     </MasterDetailPage.Master> 

     <MasterDetailPage.Detail> 

      <NavigationPage> 
      <x:Arguments> 
       <ContentPage Title="This is a view"></ContentPage> 
      </x:Arguments> 
      </NavigationPage> 
     </MasterDetailPage.Detail> 
</MasterDetailPage> 
0

ho dimenticato di usare il mio codice InitializeComponent();MasterDetailPage dietro file. Nel tuo caso deve essere SettingsPage. Ho commentato, perché mi ha mostrato un errore una volta.

0

Si può provare questo: Aprire una classe semplice per Pagina dettagli principale. Imposta il nome MyMasterPage (imposta il nome come desideri).

public class MyMasterPage : MasterDetailPage 
    { 
     public MyMasterPage() 
     { 
      this.Master = new MenuPage();//name of your menupage     
      this.Detail = new DetailPage();//name of your detailpage 

     } 
    } 

Ora avete il vostro Maestro pagina di dettaglio. L'ultima cosa da aggiungere 2 ContentPage una è per la Pagina dei menu, un'altra per DetailPage.

Problemi correlati