Xamarin.forms和即时模式图形



>有人知道如何将即时模式图形绘制到 xamarin.forms 视图中吗?

我需要将一些特定于应用程序的图形绘制到表单中。我一天中的大部分时间都在谷歌搜索和查看示例。我知道渲染器。我几乎可以做到,但是ViewRenderer不能轻易地进行子类化(除非我错过了一些东西),而且我找不到合适的现有视图子类。

有时我自己的愚蠢和厚度甚至让我感到惊讶。

答案是为每个平台创建一个具体的、依赖于操作系统的视图。然后为每个平台创建一个 ViewRenderer 实现。

然后,特定于平台的 ViewRenderer<...> 实例化特定于平台的视图。我们开始比赛了。

有一些次要的细节,例如如何通信或获取视图大小和父项,但至少这些都是已知的问题。

因此,您有以下组件:

一个MyXamarinFormsView,它子类Xamarin.Forms.View。MyView 实际上不必包含任何重要的逻辑。将其视为占位符。

对于每个平台:

A MyXamarinFormsViewRenderer

: ViewRenderer<MyXamarinFormsView,>

将以下属性实例添加到每个 ViewRenderer,在任何 using 语句之后和命名空间声明之前(如果有):

[assembly:ExportRenderer( typeof( MyXamarinFormsView ), typeof( MyXamarinFormsViewRenderer ) )

]

A MyPlatformSpecificView :特定于平台的视图(例如 UIView for iOS)

将特定于图形的代码放在每个特定于平台的视图子类中。

不确定这是否是官方/正确的方法,但它似乎确实对我有用。

相关内容

  • 没有找到相关文章

最新更新