Xamarin.Forms的自定义渲染器可以找到OnElementChanged方法

时间:2014-06-19 21:06:06

标签: xamarin renderer xamarin.forms

我正在尝试使用Xamarin.Forms为它实现自定义标签和iOS渲染器。 出于某种原因,code from sample正在使用不在基类中的方法:

  

OnElementChanged

enter image description here

任何想法如何解决?

4 个答案:

答案 0 :(得分:5)

将参数类型更改为ElementChangedEventArgs

using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;

namespace XForms.Toolkit.iOS.Controls
{
    public class MyLabelRenderer : LabelRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Label> e)
        {
            base.OnElementChanged(e);
        }
    }
}

答案 1 :(得分:5)

原来,默认情况下项目模板引用的Xamarin.Forms SDK是不够的。 您必须为Touch Project另外安装NUGET包Xamarin.Forms:

enter image description here

答案 2 :(得分:2)

对我来说,它是在NUGET包管理器中更新Xamarin.Forms库之后工作的。 但是你必须使用 ElementChangedEventArgs&lt;&gt; 作为参数类型

答案 3 :(得分:0)

您必须使用 ElementChangedEventArgs < AdMobView > 作为参数