如何在Xamarin.Forms

时间:2018-08-04 16:10:56

标签: xamarin.forms

如何为页面实现PageRenderer:

我有一个MainPage.xaml,其代码后面包含:IPlatformParamters

public class MainPage : ContentPage
{
 public IPlatformParameters platformParameters { get; set; }

 ...... other code....

}

实现自定义PageRenderer。

下一个名为MyPageRenderer的类位于Project.IOS中

如何将此iOS转换为Android?

[assembly: ExportRenderer(typeof(MainPage), typeof(MyPageRenderer))]

   namespace ProjectX.iOS
    {
        class MyPageRenderer: PageRenderer
        {
            MainPage page;

             protected override void OnElementChanged (VisualElementChangedEventArgs e)
             {
                 base.OnElementChanged (e);
                 page = e.NewElement as MainPage;
             }

            public override void ViewDidLoad ()
             {
                 base.ViewDidLoad ();
                 page.platformParameters = new PlatformParameters(this);
             }

       }
  }

1 个答案:

答案 0 :(得分:0)

尝试下面的代码,如何在Xamarin形式的Android中呈现页面。

  [assembly: ExportRenderer(typeof(MainPage), typeof(MyPageRenderer))]
    namespace ProjectX.Droid
    {
        public class MyPageRenderer : PageRenderer
        {
            MainPage page;
            public CameraPageRenderer(Context context) : base(context)
            {
            }

            protected override void OnElementChanged(ElementChangedEventArgs<Page> e)
            {
                base.OnElementChanged(e);

                if (e. NewElement != null)
                {
                     page = e.NewElement as MainPage;
                }


              page.platformParameters = new PlatformParameters(Forms.Context);


            }
        }
    }