Как я могу создать пользовательский рендерер для ContentView в Xamarin.Forms MacOS? - PullRequest
0 голосов
/ 07 мая 2020

Мы используем Xamarin.Forms с MacOS, и у нас есть настраиваемый вид MyCustomView : Xamarin.Forms.ContentView, и я пытаюсь создать настраиваемое средство визуализации представления для нашего представления, но оно мешает визуализированному представлению.

Кто-нибудь знает, как создать средство визуализации представления в моем проекте платформы?

Это код, который я пробовал до сих пор, просматривая похожие места:

[assembly: Xamarin.Forms.ExportRenderer(typeof(MyCustomView), typeof(MyCustomViewRenderer))]
namespace Mac.Renderers
{
    public class MyCustomViewRenderer : ViewRenderer<Xamarin.Forms.ContentView, AppKit.NSView>
    {
        public MyCustomViewRenderer()
        {
           // My implementation
        }
    }
}

Событие, когда реализация остается пустой, наличие этого настраиваемого средства визуализации влияет на отображение ContentView, поэтому я думаю, что этот код не должен быть правильным - есть ли способ сделать это?

1 Ответ

1 голос
/ 07 мая 2020

Вы можете исправить свою проблему, изменив вместо этого класс, унаследованный от VisualElementRenderer<T>.

[assembly: Xamarin.Forms.ExportRenderer(typeof(MyCustomView), typeof(MyCustomViewRenderer))]
namespace Mac.Renderers
{
    public class MyCustomViewRenderer : VisualElementRenderer<ContentView>
    {
        public MyCustomViewRenderer()
        {
           // My implementation
        }
    }
}

Страница имеет средство визуализации по умолчанию «PageRenderer», не понимаю, почему ContentView не имеет. Было бы неплохо, если бы был ContentViewRenderer.

Надеюсь, это поможет. -

...