是否有任何Xamarin形式的东西等同于;路径“;在WPF中?

是否有任何Xamarin形式的东西等同于;路径“;在WPF中?,wpf,xamarin,svg,xamarin.forms,path,Wpf,Xamarin,Svg,Xamarin.forms,Path,我正在考虑在图像控制中嵌入矢量路径数据。WPF有一个控件“路径”,它获取数据并渲染图像。Xamarin表单中有什么可以做到这一点吗?总之,没有。Xamarin表单和WPF在渲染层上有根本的不同 WPF通过milcore与Direct3D紧密集成,使开发人员能够从头开始重新构建所有windows GUI元素(按钮、复选框、文本块等)。这加上模板,使得WPF中的“P”非常灵活 不幸的是,这需要付出巨大的代价:性能。手持设备无法提供支持这种引擎所需的带宽,因此Xamarin表单必须提供使用每个操作系统

我正在考虑在图像控制中嵌入矢量路径数据。WPF有一个控件“路径”,它获取数据并渲染图像。Xamarin表单中有什么可以做到这一点吗?

总之,没有。Xamarin表单和WPF在渲染层上有根本的不同

WPF通过milcore与Direct3D紧密集成,使开发人员能够从头开始重新构建所有windows GUI元素(按钮、复选框、文本块等)。这加上模板,使得WPF中的“P”非常灵活

不幸的是,这需要付出巨大的代价:性能。手持设备无法提供支持这种引擎所需的带宽,因此Xamarin表单必须提供使用每个操作系统的本机GUI控件实现的类;在这方面,它更接近WinForms。这意味着Xamarin表单控件的基本集必须是所有受支持的构建类型(即iOS、Android、,UWP等。底线是,任何需要
Path
这种精细粒度的东西,如果以表单实现,在这些平台上可能会运行得太慢,而且无论如何,您都必须在本地实现它们

如果您想自己走这条路,那么当然可以通过在PCL项目中基于
视图
(比如)创建一个自定义控件,然后提供如下内容:

// Android renderer for your custom control
[assembly: ExportRenderer(typeof(YourCustomControl), typeof(YourCustomControlRenderer))]
namespace Your.Project.Namespace
{
    public class YourCustomControlRenderer : VisualElementRenderer<YourCustomControl>
    {
        protected override void OnDraw(Canvas canvas)
        {
            ... etc ...
            canvas.DrawRect(new RectF(drawRect), bkgPaint);
            ... etc ...
        }
    }
}
//自定义控件的Android渲染器
[程序集:ExportRenderer(typeof(YourCustomControl)、typeof(YourCustomControlRenderer))]
名称空间:Your.Project.namespace
{
公共类YourCustomControlRenderer:VisualElementer
{
受保护的覆盖无效OnDraw(画布)
{
等
canvas.DrawRect(新的RectF(DrawRect),bkgPaint);
等
}
}
}
或者,正如Sushihuhangover所指出的,您可以使用第三方库,它基本上就是这样做的。

SkiaSharp怎么样:(如果您的向量是这种格式的,那么还有SkiaSharp的SVG扩展)