如何在Xamarin.Forms MacOS中为ContentView创建自定义渲染器?

问题描述 投票:0回答:1

[我们将Xamarin.FormsMacOS结合使用,并具有自定义视图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的显示,因此我认为这段代码一定不正确-有没有办法做到这一点?

xamarin xamarin.forms xamarin.mac
1个回答
0
投票

您可以通过将类更改为从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,那就太好了。

希望有帮助。-

© www.soinside.com 2019 - 2024. All rights reserved.