`System.Reflection.TargetInvocationExceptionExportRenderer` на ExportRenderer - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь реализовать пользовательский рендеринг для Editor и следую этой инструкции, только что использовал Editor вместо Entry:

Внутри проекта Xamarin я определил новый класс CustomEditor:

public class CustomEditor : Editor
{

}

И внутри Xamarin. Android вот это:

[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);
            }
        }
    }
}

Приложение собирается и компилируется нормально, но я получаю сообщение об ошибке при попытке доступа к CustomEditor:

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

System.Reflection.TargetInvocationException: Исключение было сгенерировано целью вызова

В конце концов я определил, что конструктор CustomEditorRenderer запускает инициализацию и context приходит к base():

enter image description here

, но после этого при нажатии F10 (F11) для следующего шага возникает ошибка.

enter image description here

Я не могу понять, что я делаю неправильно

1 : https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/entry#creating -пользовательский рендерер-на-андроиде Необработанный Исключение:

...