在Xamarin Form PCL中创建控件的正确方法是什么?
在我的类库中,我的“控件”类不是从任何View派生的,只是带有一些标签,滚动视图,逻辑等的布局。 我在几个地方的同一个PLC的页面中使用它。
我的问题是 - 包装这个“控件”并在PLC页面中使用它的正确方法是什么? 我最终让这个控件类公开了它的根布局,我添加了所有的子元素,然后将这个布局添加到页面布局的子节点。这使得该类成为页面UI的一部分的构建器。
看起来使用“View”作为基类需要我向Android和iOS项目添加自定义渲染器 我不需要这样做 - 我的所有UI功能都适合PCL而不需要任何自定义工作。
我感觉我没有以正确的方式做到这一点。
建议和/或链接到有关如何正确执行此操作的文档将非常感激。
答案 0 :(得分:2)
在我看来,你实际上是因为不想使用View
作为基类来伤害自己。我通常使用ContentView
作为基类来创建自己的控件,并且无需自定义渲染器即可使用,因为ContentView已经在iOS和Android中拥有自己的渲染器。这样的事情可以解决问题。
public class MyContentView : ContentView
{
private Layout createLayout();
public MyContentView()
{
Content = createLayout();
}
}