【问题标题】:Xamarin Forms Customer Control LibraryXamarin Forms 客户控制库
【发布时间】:2021-04-30 16:26:13
【问题描述】:

我需要创建一个可重用的 Xamarin Forms 控件,该控件将在两个单独的项目中使用。它确实需要 IOS 和 Android 的自定义渲染器。问题是我无法确定我们要使用哪种项目来为 Xamarin 表单创建可重用的自定义控件库。

每个网站似乎都在谈论创建可以在同一个项目中重复使用的客户控件。但我需要在一个单独的项目中重复使用它。

谁能指点我正确的方向。

【问题讨论】:

  • 对共享表单库使用 .NET Standard 库。 VS Mac有“Multiplatform LIbrary”模板,不知道VS2019有没有一样的东西。
  • .Net Standard 允许我共享代码,但我需要使用自定义渲染器创建控件。此外 windows 似乎没有多平台库模板
  • 您将拥有每个平台的库和一个包含任何通用代码的共享库

标签: xamarin xamarin.forms custom-controls code-reuse multitargeting


【解决方案1】:

根据您对多目标的需求,使用MSBuild.Sdk.Extras 类型的共享项目的解决方案可能会很有帮助。然后,您可以将共享项目打包到一个包中,您可以从应用项目中引用该包并在本地使用。

可能会指导您并向您显示路径的示例是跨平台应用程序开发人员正在使用的已知 nuget 包,这只是一个示例 Xamarin.Forms.PancakeView

MSBuild.Sdk.Extras相关How to use different base class in custom control depending on platform target?

【讨论】:

  • 我正在寻找的是一个模板,它生成与新 xamarn.forms 应用程序相同的三个项目,但可用于自定义控件。一个主项目,一个ios项目,一个android项目。这不可能吗?
  • 我不太明白,你想要一个模板项目,带来你曾经使用的代码吗?使用自定义包将确保您正在寻找的可重用性,这是实现这一目标的更清洁的方法。您只需要添加对包含可重用代码的包的引用。
  • 不,我想为 Xamarin.Forms 创建一个自定义控件库。当你创建一个新的 Xamarin.Forms 应用程序时,它会创建三个项目。一个主要项目,一个用于IOS,一个用于Android。我想做同样的事情,但作为一个控件库而不是一个应用程序。目前似乎没有任何方法可以为 xamarn.forms 创建自定义控件库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-28
  • 1970-01-01
  • 2023-03-20
  • 2017-06-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多