在Xamarin Form PCL中创建控件的正确方法是什么?

时间:2017-03-17 15:58:56

标签: xamarin.forms

在Xamarin Form PCL中创建控件的正确方法是什么?

在我的类库中,我的“控件”类不是从任何View派生的,只是带有一些标签,滚动视图,逻辑等的布局。 我在几个地方的同一个PLC的页面中使用它。

我的问题是 - 包装这个“控件”并在PLC页面中使用它的正确方法是什么? 我最终让这个控件类公开了它的根布局,我添加了所有的子元素,然后将这个布局添加到页面布局的子节点。这使得该类成为页面UI的一部分的构建器。

看起来使用“View”作为基类需要我向Android和iOS项目添加自定义渲染器 我不需要这样做 - 我的所有UI功能都适合PCL而不需要任何自定义工作。

我感觉我没有以正确的方式做到这一点。

建议和/或链接到有关如何正确执行此操作的文档将非常感激。

1 个答案:

答案 0 :(得分:2)

在我看来,你实际上是因为不想使用View作为基类来伤害自己。我通常使用ContentView作为基类来创建自己的控件,并且无需自定义渲染器即可使用,因为ContentView已经在iOS和Android中拥有自己的渲染器。这样的事情可以解决问题。

public class MyContentView : ContentView
{
    private Layout createLayout();

    public MyContentView()
    {
        Content = createLayout();
    }
}