2017-01-05 86 views
1

我想为Xamarin.Forms(v.2.3.3.175)中的MasterDetailPage编写自定义渲染器。我需要调整与其内容相比太大的默认主宽度。Xamarin.Forms MasterDetailPage自定义渲染器

不幸的是,一旦自定义渲染器类被创建,我就会得到一个“System.NullReferenceException”。我清理了所有内容,但仍然出现错误。看来,简单地从MasterDetailRenderer派生我的类是造成这个问题。

为了测试的缘故,我已经剥夺我的自定义渲染到如下:

[assembly: Xamarin.Forms.ExportRenderer(typeof(Xamarin.Forms.ExMasterDetailPage), typeof(ExMasterDetailRenderer))] 
namespace MDPageTest.Droid.Renderers { 
    public class ExMasterDetailRenderer : MasterDetailRenderer 
    { } 
} 

没有别的!仍然发生错误。 注释属性行(因此禁用自定义渲染器)或删除类派生可解决问题,并且应用程序无任何其他错误地启动。

是否有其他人遇到这样的问题?有关如何解决它的任何线索?

预先感谢您。 干杯,

M.

回答

2

这个原因可能是您从FormsAppCompatActivity而不是FormsApplicationActivityMainActivity继承。您应该能够通过使您的自定义渲染器从Xamarin.Forms.Platform.Android.AppCompat名称空间继承MasterDetailPageRenderer来解决此问题。

相关问题