Я пытаюсь реализовать пользовательский рендеринг для 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](https://i.stack.imgur.com/bVGRP.png)
, но после этого при нажатии F10 (F11) для следующего шага возникает ошибка.
![enter image description here](https://i.stack.imgur.com/SdyGu.png)
Я не могу понять, что я делаю неправильно
1 : https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/entry#creating -пользовательский рендерер-на-андроиде Необработанный Исключение: