2016-06-24 22 views
5

Zaten varolan bir Xamarin uygulamasına basit bir Ana Ayrıntı sayfası eklemeye çalışıyorum. İşte MasterDetailPage beyanıXamarin - Master ve Ayrıntı bir kapsayıcıya MasterDetailPage eklemeden önce ayarlanmalıdır

<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> 

Ancak, I aşağıdaki hatayı alıyorum uygulamayı çalıştırdığınızda zaman sayfası geliyor navigasyon:

Ana ve Detay bir kaba MasterDetailPage eklemeden önce ayarlanmalıdır

Uygulamada bir IOC kabı olarak kullanılmakta olan bir autofac ile ilgili olduğunu, ancak bir parmağını bulamayabileceğini varsayıyorum. Bunu başkası yaşadı mı?

cevap

2

İşte bazı biri de gerekirse benim koşu kodudur:

<?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

ben dosyanın arkasında benim MasterDetailPage kodu InitializeComponent(); kullanmayı unuttum. Durumunuzda SettingsPage olmalıdır. Bunu yorumlamıştım, çünkü bana bir kez hata gösterdi.

0

Bunu deneyebilirsiniz: Ana Ayrıntılı Sayfa için basit bir sınıf açın. MyMasterPage adını girin (istediğiniz adı girin).

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

     } 
    } 

Artık Ana Sayfa Ayrıntı Sayfasına sahipsiniz. En son 2 İçerik Sayfasını eklemeniz gerekir: Birincisi, Sayfa Sayfası için, diğer detaylar için.