2016-05-16 75 views
0

情況: 使用Xamarin Forms和MasterDetail組件構建應用程序。Xamarin形式MasterDetail和PageRenderer

問題: 如何基於PageRender呈現Android上的特定頁面?並保持抽屜?

編輯

public class MasterBacASable : MasterDetailPage 
{ 
    public MasterBacASable() 
    { 
     Icon = null; 
     Title = "The title"; 
     Detail = (new FirstPage()); 
     Master = new AppMenuPage(); 
    } 
} 

[組件:ExportRenderer(typeof運算(BacASable.FirstPage)的typeof(BacASable.Droid.FirstPageContentRennderer))] 命名空間BacASable.Droid { 公共類FirstPageContentRennderer:PageRenderer { 公共FirstPageContentRennderer() {
}

protected override void OnElementChanged (ElementChangedEventArgs<Page> e) 
    { 
     base.OnElementChanged (e); 
     var activity = this.Context as Activity; 
     var v = activity.LayoutInflater.Inflate (Resource.Layout.AndroidView,this,false); 
     AddView (v); 
    } 
} 

}

回答

0

按照本作Xamarin.Forms Master-Detail Documentation

基礎概念是以下

public class MainPageCS : MasterDetailPage 
{ 
    MasterPageCS masterPage; 

    public MainPageCS() 
    { 
     masterPage = new MasterPageCS(); 
     Master = masterPage; 
     Detail = new NavigationPage (new ContactsPageCS()); 
     ... 
    }  
} 

Master是你的抽屜和Detail頁面(ContentPage,TabbedPage,NavigationPage,CustomPageRenderer)。

所以你要顯示一個不同的頁面,每次設置Detail屬性

Detail = new MyContentPage(); 
+0

http://stackoverflow.com/questions/36390545/can-you-make-a-clickevent-with-the-masterdetailpage-icon-text/36396688#36396688 –

+0

嗨和Thx。我的問題是當試圖獲得Spcecific androidView。 – Ramah

0

我只是忘記覆蓋OnLayout的渲染。 謝謝大家。