【发布时间】:2018-07-26 02:58:06
【问题描述】:
我想在 PCL 中使用我的自定义渲染器。可能吗?或者我可以在这个 PCL 中初始化我的自定义渲染器吗?
【问题讨论】:
标签: xamarin xamarin.forms portable-class-library custom-renderer
我想在 PCL 中使用我的自定义渲染器。可能吗?或者我可以在这个 PCL 中初始化我的自定义渲染器吗?
【问题讨论】:
标签: xamarin xamarin.forms portable-class-library custom-renderer
没有和没有。
您在 PCL 中使用的是 - 比方说 - 组件,它是抽象的。组件的“物化”(或不物化)将由每个平台上的自定义渲染完成。
一旦它可以在每个平台上以不同方式显示(或行为),我看不出有理由在独立于平台的实现上使用它。
自定义呈现器允许开发人员覆盖此过程,以自定义 Xamarin.Forms 控件在每个平台上的外观和行为。
https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/custom-renderer/
也许通过一个真实的案例,我们可以提出另一种解决方案。
【讨论】:
最后,我找到了解决方案。 我刚刚在我的 PCL 中创建了一个类并在 XAML 中使用它,假设:
public class MyHelperEntry : Entry { public MyHelperEntry() { } }
继承Entry 类。在我使用此 PCL 的应用程序中,我创建了一个继承 MyHelperEntry 的类:
public CustomHelperEntry : MyHelperEntry { public CustomHelperEntry() { } }
并将此CustomHelperEntry 用作自定义渲染器。
【讨论】: