Xamarin内容查看渲染隐藏内容

问题描述:

我有这样的类:Xamarin内容查看渲染隐藏内容

  public class MetroButton: ContentView 
     { 

      public MetroButton() 
      { 
       //create and filling mainGrid 
       this.Content = mainGrid; 
      } 
     } 

该工程确定。但是,当我渲染我的ContentView(MetroButton) - 内容不显示(内容消失,仍然只有主控制器)。

我的渲​​染:

[assembly: ExportRenderer (typeof(MetroButton), typeof(RendererToClickView))] 

...

public class RendererToClickView:ViewRenderer 
{ 
    public RendererToClickView() 
    { 

    } 
} 
+0

尝试继承从ContentViewRenderer –

+0

ContentViewRenderer的RendererToClickView - 不存在,或者我不知道在哪里可以找到它 – Jan

有没有ContentViewRenderer。尝试使用FrameRenderer,只是禁用边框绘图。这很好(我自己试了一下)。

public class MyFrame : Frame 
    { 
     public MyFrame() 
     { 
      Content = new Label() { 
       Text = "Test" 
      }; 
      BackgroundColor = Color.Transparent; 
      OutlineColor = Color.Transparent; 
     } 
    } 

[assembly: ExportRenderer (typeof (MyFrame), typeof (MyFrameRenderer))] 
namespace YourAssembly.Droid 
{ 
    public class MyFrameRenderer : FrameRenderer 
    { 
     public MyFrameRenderer() 
     { 

     } 
    } 
} 
+0

现在,我已经在MainActivity.cs中的“base.OnCreate(bundle);”也许这是因为我没有关闭边框绘图。因为我不知道确切需要禁用的位置=) – Jan

+0

用示例编辑我的答案 –

+0

是的,这是我的错。我没有将“ContentView”更改为“Frame”。现在我把属性“Padding”= 0,它完美的工作。非常感谢你,男人! – Jan

您不必为此创建FrameRenderer。 一个ContentView的渲染是ViewRenderer,因为可以在link可以看出:

你可以做这样的事情:

[Assembly: ExportRenderer (typeof (ImageGallery), typeof (ImageGalleryRenderer))] 
Namespace MRV.AppClient.Mobile.Droid.CustomRenderers 
{ 
     Class ImageGalleryRenderer: ViewRenderer 
     { 
         Protected override void JavaFinalize() 
         { 
             ImageService.Instance.InvalidateMemoryCache(); 
             Base.JavaFinalize(); 
         } 
     } 
}