【问题标题】:Platform-specific User-controls特定于平台的用户控件
【发布时间】:2023-03-07 04:02:01
【问题描述】:

大家好,大家好

我正准备创建一个 Xamarin.Forms 应用程序。

我查看了此链接https://developer.xamarin.com/guides/xamarin-forms/custom-renderer/entry/,他们将在该链接中为特定于平台的组件制作渲染器。 TwinTechs Controls 就是一个例子,它仅适用于 iOS 和 Android。如何做到这一点?

这可能吗?如果是,怎么做?

【问题讨论】:

    标签: c# xamarin user-controls xamarin.forms


    【解决方案1】:

    Renderer 类是您需要为每个平台自定义的特定于平台的自定义类。

    在那个特定的示例中,他们正在考虑更改现有的渲染器。

    您将更加专注于从头开始编写自己的特定于平台的组件。

    为此,您需要从ViewRenderer 继承并提供对View 的引用以及平台特定的native 元素,该元素将成为平台级别控件的根。

    不要忘记导出渲染器,以便在Xamarin.Forms中的页面渲染过程中使用,从平台级别沿线:-

    [assembly: ExportRendererAttribute(typeof({ViewNameHere}), typeof({RendererClassNameHere}))]
    

    有一个关于编写自定义渲染器的有用教程here,它将进一步帮助您。

    【讨论】:

    • Pete 我已经在便携式计算机中完成了所有用户界面,但现在我例如必须使用 TwinTechs 的 FastCell。但它仅适用于 iOS 和 Android。我怎样才能做到这一点?
    • @The87Boy 你想快速将我添加到 messenger 上,我可以比在这里发消息更快地得到具体答案吗?如果是这样,我的联系方式在我的个人资料中。
    • 您需要进入 NuGet 并确保您已安装 Microsoft.Bcl.Build 包。检查参考资料,可能还有其他一些不存在。您可能想尝试单独加载解决方案文件并尝试先以这种方式编译。
    • @The87Boy If you want FastCell 你看过最新 Xamarin.Forms 平台中的ListViewCachingStrategy
    • @The87Boy user1 正确地查看了现在在所有平台上都可用的 ListViewCachingStrategy。创建这些渲染器的 George Cook 最初是在 XF 中出现此功能之前这样做的。不再需要使用这些特定控件。
    猜你喜欢
    • 2023-02-21
    • 1970-01-01
    • 2016-02-12
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多