Xamarin.Forms的控件的层次结构与UWP类似,但它有很大的区别,需要在这里讨论。此外,这些控件的名称也不同。
下面介绍Xamarin.Forms层次结构中最重要的类。
- BindableObject:这是Xamarin.Forms控件的基类。这个类实现了INotifyPropertyChanged接口。
在UWP中没有此类,但是BindableBase类有一个定制的实现。BindableObject还实现了接口IDynamicResourceHandler。该接口由平台渲染器使用。 - Element:Element类作为Forms层次结构中所有元素的基类。这个类定义了遍历树的方法和属性,并实现了平台渲染器的功能。
- Cell:Cell类派生自Element。可以将Cell添加到ListView和TableView类中。与可以使用UWP进行的操作不同,不能将任何XAML元素添加到ListView中。在Xamarin.Forms中,只能添加从Cell中派生的类。
- ViasualElement:VisualElement派生自Element,是所有可视化外观的元素的基类。在UWP中,Height和Width属性可以定义所需的尺寸,并根据容器的大小来安排。而在Xamarin.Forms中,Height和Width属性都是只读的,像UWP中的ActualHeight和ActualWidth一样使用。Xamarin.Forms中的HeightRequest和WidthRequest是UWP中的Height和Width属性的变体。VisualElemnt类也有一个Style属性,可以定义缩放、旋转和不透明度,可以通过IsEnabled设置要启用的元素,通过IsVisible设置元素是否显示。
- Page:Page类派生自VisualElement,是所有页面的基类。这