xamarin - 如何在 Xamarin.Forms MacOS 中为 ContentView 创建自定义渲染器?
问题描述
我们正在使用Xamarin.Forms
with 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 的显示,所以我认为这段代码一定不正确 - 有没有办法做到这一点?
解决方案
您可以通过将类更改为继承来解决您的问题VisualElementRenderer<T>
。
[assembly: Xamarin.Forms.ExportRenderer(typeof(MyCustomView), typeof(MyCustomViewRenderer))]
namespace Mac.Renderers
{
public class MyCustomViewRenderer : VisualElementRenderer<ContentView>
{
public MyCustomViewRenderer()
{
// My implementation
}
}
}
Page有一个默认的Renderer“PageRenderer”,不明白为什么ContentView没有。如果有 ContentViewRenderer 就好了。
希望这可以帮助。-
推荐阅读
- flutter - 使用颤振在社交媒体上发布链接后无法获得成功
- javascript - 如何使用vue在复选框中动态添加ID?
- c# - 有没有类似语法的代码写法:class.method("variable").returnedVariable
- react-native - 如何创建反应原生 Firebase 动态链接?
- python - Python/Selenium 中的查询链接打印错误
- c# - C# 将 json 转换为多个类
- docker - Kubernetes 中的项目级方法是什么?
- hyperledger-fabric - 创建新频道并加入同行
- angular - 如何通过受影响的 nx:测试将参数传递给 ng-cli?
- python - python单元测试-无法导入requests_aws4auth