为什么MapRenderer派生的渲染器仅适用于从Map

时间:2017-10-16 09:09:09

标签: xamarin.forms

我正在尝试为Map控件创建自定义渲染器:

[assembly: ExportRenderer(typeof(Map), typeof(MapRendererFix))]

namespace MyApp
{
   class MapRendererFix : MapRenderer
   {
   }
}

但是c-tor永远不会被召唤。

但是,如果我创建了一个派生控件类MapFix,它可以工作:

class MapFix: Map
{
}

[assembly: ExportRenderer(typeof(MapFix), typeof(MapRendererFix))]

namespace MyApp
{
   class MapRendererFix : MapRenderer
   {
   }
}

为什么我必须创建一个派生自Map的控件才能使用自定义渲染器,这对我没有意义。如果我创建MyButtonRenderer,则必须使用它来创建MyButton

1 个答案:

答案 0 :(得分:0)

要检查/测试的两件事:

-Renderer应该是公开的

-typeof(Map)正确引用Xamarin Forms Map的实例

也许你可以发送更多代码?