Xamarin.Forms: 是否有事件表明Custom Renderer已经执行?

Xamarin.Forms: Is there an event to indicate that Custom Renderer has executed?

我正在尝试解决使用自定义呈现器的开源 Xamarin.Forms 控件中的一个缺点。

问题是我只能在控件上设置某些属性 自定义渲染器具有 运行 之后。我只是不确定那会是什么时候。控件或页面中是否有任何生命周期事件指示所有自定义渲染器已执行?

谢谢!

xxxRendererclass暴露了OnElementChanged方法,在创建Xamarin.Forms控件时调用该方法渲染对应的原生控件。此方法采用包含 OldElementNewElement 属性的 ElementChangedEventArgs 参数。这些属性表示渲染器附加到的 Xamarin.Forms 元素,以及渲染器附加到的 Xamarin.Forms 元素。

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

  if (Control != null) {
     // custom renderers have executed here

  }
}

调用基础 class 的 OnElementChanged 方法实例化本机控件(或视图),并引用分配给渲染器控件的控件属性。