呈现器基类和本机控件

每个 Xamarin.Forms 控件都有一个附带的呈现器,适用于创建本机控件实例的各个平台。 本文列出了用于实现每个 Xamarin.Forms 页面、布局、视图和单元的呈现器和本机控件类。

MapRenderer 类以外,可以在以下命名空间中找到特定于平台的呈现器:

  • iOS – Xamarin.Forms.Platform.iOS
  • Android – Xamarin.Forms.Platform.Android
  • Android (AppCompat) – Xamarin.Forms.Platform.Android.AppCompat
  • Android (FastRenderers) - Xamarin.Forms.Platform.Android.FastRenderers
  • 通用 Windows 平台 (UWP) – Xamarin.Forms.Platform.UWP

有关快速呈现器的详细信息,请参阅 Xamarin.Forms 快速呈现器

MapRenderer 类位于以下命名空间::

  • iOS – Xamarin.Forms.Maps.iOS
  • Android – Xamarin.Forms.Maps.Android
  • 通用 Windows 平台 (UWP) – Xamarin.Forms.Maps.UWP

注意

有关为 Shell 应用程序创建自定义呈现器的信息,请参阅 Xamarin.Forms Shell 自定义呈现器

下表列出实现每个 Xamarin.Forms页面类型的呈现器和本机控件类:

页面 呈现器 iOS Android Android (AppCompat) UWP
ContentPage PageRenderer UIViewController ViewGroup FrameworkElement
FlyoutPage PhoneFlyoutPageRenderer (iOS - 手机), TabletFlyoutPageRenderer (iOS - 平板电脑), MasterDetailRenderer (Android), FlyoutPageRenderer (Android AppCompat), FlyoutPageRenderer (UWP) UIViewController (手机), UISplitViewController (平板电脑) DrawerLayout (v4) DrawerLayout (v4) FrameworkElement (自定义控件)
NavigationPage NavigationRenderer (iOS 和 Android), NavigationPageRenderer (Android AppCompat), NavigationPageRenderer (UWP) UIToolbar ViewGroup ViewGroup FrameworkElement (自定义控件)
TabbedPage TabbedRenderer (iOS 和 Android), TabbedPageRenderer (Android AppCompat), TabbedPageRenderer (UWP) UIView ViewPager ViewPager FrameworkElement (透视)
TemplatedPage PageRenderer UIViewController ViewGroup FrameworkElement
CarouselPage CarouselPageRenderer UIScrollView ViewPager ViewPager FrameworkElement (FlipView)

布局

下表列出实现每个 Xamarin.Forms布局类型的呈现器和本机控件类:

Layout 呈现器 iOS Android Android (AppCompat) UWP
ContentPresenter ViewRenderer UIView 视图 视图 FrameworkElement
ContentView ViewRenderer UIView 视图 视图 FrameworkElement
FlexLayout ViewRenderer UIView 视图 视图 FrameworkElement
Frame FrameRenderer UIView ViewGroup CardView 边框
ScrollView ScrollViewRenderer UIScrollView ScrollView ScrollView ScrollViewer
TemplatedView ViewRenderer UIView 视图 视图 FrameworkElement
AbsoluteLayout ViewRenderer UIView 视图 视图 FrameworkElement
Grid ViewRenderer UIView 视图 视图 FrameworkElement
RelativeLayout ViewRenderer UIView 视图 视图 FrameworkElement
StackLayout ViewRenderer UIView 视图 视图 FrameworkElement

视图

下表列出实现每个 Xamarin.Forms视图类型的呈现器和本机控件类:

视图 呈现器 iOS Android Android (AppCompat) UWP
ActivityIndicator ActivityIndicatorRenderer UIActivityIndicator ProgressBar ProgressBar
BoxView BoxRenderer (iOS 和 Android), BoxViewRenderer (UWP) UIView ViewGroup 矩形
Button ButtonRenderer UIButton Button AppCompatButton Button
CarouselView CarouselViewRenderer UICollectionView RecyclerView ListViewBase
CheckBox CheckBoxRenderer UIButton AppCompatCheckBox CheckBox
CollectionView CollectionViewRenderer UICollectionView RecyclerView ListViewBase
DatePicker DatePickerRenderer UITextField EditText DatePicker
Editor EditorRenderer UITextView EditText TextBox
Ellipse EllipseRenderer CALayer 视图 椭圆形
Entry EntryRenderer UITextField EditText TextBox
Image ImageRenderer UIImageView ImageView 映像
ImageButton ImageButtonRenderer UIButton AppCompatImageButton Button
IndicatorView IndicatorViewRenderer UIPageControl LinearLayout
Label LabelRenderer UILabel TextView TextBlock
Line LineRenderer CALayer 视图 线条
ListView ListViewRenderer UITableView ListView ListView
Map MapRenderer MKMapView MapView MapControl
Path PathRenderer CALayer 视图 路径
Picker PickerRenderer UITextField EditText EditText ComboBox
Polygon PolygonRenderer CALayer 视图 多边形
Polyline PolylineRenderer CALayer 视图 折线
ProgressBar ProgressBarRenderer UIProgressView ProgressBar ProgressBar
RadioButton RadioButtonRenderer UIButton AppCompatRadioButton RadioButton
Rectangle RectangleRenderer CALayer 视图 矩形
RefreshView RefreshViewRenderer UIView SwipeRefreshLayout RefreshContainer
SearchBar SearchBarRenderer UISearchBar SearchView AutoSuggestBox
Slider SliderRenderer UISlider SeekBar 滑块
Stepper StepperRenderer UIStepper LinearLayout 控制
SwipeView SwipeViewRenderer UIView 视图 SwipeControl
Switch SwitchRenderer UISwitch Switch SwitchCompat ToggleSwitch
TableView TableViewRenderer UITableView ListView ListView
TimePicker TimePickerRenderer UITextField EditText TimePicker
WebView WkWebViewRenderer (iOS)、WebViewRenderer(Android 和 UWP) WkWebView WebView WebView

单元

下表列出实现每个 Xamarin.Forms单元格类型的呈现器和本机控件类:

单元 呈现器 iOS Android UWP
EntryCell EntryCellRenderer 带有 UITextField 的 UITableViewCell 带有 TextView 和 EditText 的 LinearLayout 带有 TextBox 的 DataTemplate
SwitchCell SwitchCellRenderer 带有 UISwitch 的 UITableViewCell Switch 带有网格且包含 TextBlock 和 ToggleSwitch 的 DataTemplate
TextCell TextCellRenderer UITableViewCell 带有两个 TextViews 的 LinearLayout 带有 StackPanel 且包含两个 Textblock 的 DataTemplate
ImageCell ImageCellRenderer 带有 UIImage 的 UITableViewCell 带有两个 TextViews 和一个 ImageView 的 LinearLayout 带有网格且包含一个 Image 和两个 TextBlocks 的 DataTemplate
ViewCell ViewCellRenderer UITableViewCell 视图 带有 ContentPresenter 的 DataTemplate