Xamarin ContentView 渲染器隐藏内容
Xamarin ContentView renderer hides Content
我有这样的class:
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 ()
{
}
}
没有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()
{
}
}
}
您不需要为此创建 FrameRenderer
。
ContentView
的renderer是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 ();
}
}
}
我有这样的class:
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 ()
{
}
}
没有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()
{
}
}
}
您不需要为此创建 FrameRenderer
。
ContentView
的renderer是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 ();
}
}
}