Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# `ExportRenderer上的System.Reflection.TargetInvocationExceptionExportRenderer`_C#_Xamarin_Xamarin.forms_Xamarin.android - Fatal编程技术网

C# `ExportRenderer上的System.Reflection.TargetInvocationExceptionExportRenderer`

C# `ExportRenderer上的System.Reflection.TargetInvocationExceptionExportRenderer`,c#,xamarin,xamarin.forms,xamarin.android,C#,Xamarin,Xamarin.forms,Xamarin.android,我尝试为编辑器实现自定义渲染,并按照说明操作,只是使用编辑器而不是条目: 在Xamarin项目中,我定义了新类CustomEditor: public class CustomEditor : Editor { } 在Xamarin里面,这个: [assembly: ExportRenderer(typeof(CustomEditor), typeof(CustomEditorRenderer))] namespace CustomRenderer.Android { class C

我尝试为
编辑器
实现自定义渲染,并按照说明操作,只是使用
编辑器
而不是
条目

在Xamarin项目中,我定义了新类
CustomEditor

public class CustomEditor : Editor
{

}
在Xamarin里面,这个:

[assembly: ExportRenderer(typeof(CustomEditor), typeof(CustomEditorRenderer))]
namespace CustomRenderer.Android
{
    class CustomEditorRenderer : EditorRenderer
    {
        public CustomEditorRenderer(Context context) : base(context) {}

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

            if (Control != null)
            {
                Control.SetBackgroundColor(global::Android.Graphics.Color.LightGreen);
            }
        }
    }
}
[程序集:ExportRenderer(typeof(CustomEditor)、typeof(CustomEditorRenderer))]
名称空间CustomRenderer.Android
{
类CustomEditorRenderer:EditorRenderer
{
公共CustomEditorRenderer(上下文):基(上下文){}
受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e)
{
基础。一个要素发生变化(e);
if(控件!=null)
{
Control.SetBackgroundColor(全局::Android.Graphics.Color.LightGreen);
}
}
}
}
应用程序正常生成和编译,但在尝试访问CustomEditor时出现错误:

var st = new StackLayout();
st.Children.Add(new CustomEditor()); // <= here
var st=new StackLayout();

添加(新的CustomEditor());//什么是InnerException?@Jason,我无法理解错误的细节。只有
未处理的异常:System.Reflection.TargetInvocationException:异常已由调用的目标引发
异常对象具有InnerException属性,该属性通常会向您显示有关实际导致问题的原因的更有用信息。您需要使用调试器来查看InnerException@Jason,我不知道怎么弄到它。我无法将
base(context)
包装到
try/catch
中。我禁用了“仅启用我的代码”上的复选框,并在.net framework源代码中启用了调试(我希望它能帮助我进入
base(context)
进行调试,但没有成功),您的项目中还有其他代码吗?我只是使用你的代码,它在我这边起作用。我上传了一个,你可以查看。