Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin使用渲染器形成自定义控件_Xamarin_Xamarin.forms_Custom Controls_Renderer - Fatal编程技术网

Xamarin使用渲染器形成自定义控件

Xamarin使用渲染器形成自定义控件,xamarin,xamarin.forms,custom-controls,renderer,Xamarin,Xamarin.forms,Custom Controls,Renderer,我想使用xamarin android visual studio创建自定义控件。我使用xamarin表单创建了这个示例项目,效果很好: 现在我的要求是我想创建如下内容: 上面是我使用fragment-android本机控件创建的控件。我现在想使用渲染器在Xamarin表单中创建完全相同的渲染器。下面是一个很好的教程,可以让您了解如何编写自定义渲染器,以及代码示例 如果您遵循这些示例的精髓,您将看到如何编写一个Android渲染器,并能够对其进行测试,但是对于您尝试执行的操作,您必须进行一些更改

我想使用xamarin android visual studio创建自定义控件。我使用xamarin表单创建了这个示例项目,效果很好:

现在我的要求是我想创建如下内容:

上面是我使用fragment-android本机控件创建的控件。我现在想使用渲染器在Xamarin表单中创建完全相同的渲染器。

下面是一个很好的教程,可以让您了解如何编写自定义渲染器,以及代码示例

如果您遵循这些示例的精髓,您将看到如何编写一个Android渲染器,并能够对其进行测试,但是对于您尝试执行的操作,您必须进行一些更改

您需要指定程序集导出渲染器属性以公开自定义渲染器,并允许注册以供使用。这将使您的类实现在呈现Xamarin.Forms页面时可调用

创建复合控件时,您还需要从ViewRenderer派生,并传递在所有平台实现中共享的自定义视图,以及用于托管新复合控件的基础控件(查看您已经完成的样本组成,并选取最上面的元素)

与链接中的示例不同,您不会覆盖Draw方法,因为您不会直接在画布上进行绘制。相反,您将按照已经完成的操作创建布局,但您会将此代码放置在覆盖OnElementChanged()