轉譯器基底類別與原生控制項

每個 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.地圖。Ios
  • Android – Xamarin.Forms.地圖。Android
  • 通用 Windows 平台 (UWP) – Xamarin.Forms.地圖。UWP

注意

如需為Shell應用程式建立自定義轉譯器的詳細資訊,請參閱 Xamarin.Forms 殼層自定義轉譯器

頁面

下表列出實作每個 Xamarin.FormsPage 類型的轉譯器和原生控件類別:

轉譯器 iOS Android Android (AppCompat) UWP
ContentPage PageRenderer UIViewController ViewGroup FrameworkElement
FlyoutPage 電話 FlyoutPageRenderer (iOS – 電話)、TabletFlyoutPageRenderer (iOS – Tablet)、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.FormsLayout 類型的轉譯器和原生控件類別:

版面配置 轉譯器 iOS Android Android (AppCompat) UWP
ContentPresenter ViewRenderer UIView 檢視 檢視 FrameworkElement
ContentView ViewRenderer UIView 檢視 檢視 FrameworkElement
FlexLayout ViewRenderer UIView 檢視 檢視 FrameworkElement
Frame FrameRenderer UIView ViewGroup CardView Border
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 檢視 Polygon
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.FormsCell 類型的轉譯器和原生控件類別:

儲存格 轉譯器 iOS Android UWP
EntryCell EntryCellRenderer 具有 UITextField 的 UITableViewCell 具有 TextView 和 EditText 的 LinearLayout 具有 TextBox 的 DataTemplate
SwitchCell SwitchCellRenderer 具有 UISwitch 的 UITableViewCell Switch 具有 Grid 的 DataTemplate,包含 TextBlock 和 ToggleSwitch
TextCell TextCellRenderer UITableViewCell 具有兩個 TextView 的 LinearLayout 具有 StackPanel 的 DataTemplate,包含兩個 TextBlock
ImageCell ImageCellRenderer 具有 UIImage 的 UITableViewCell 具有兩個 TextView 和一個 ImageView 的 LinearLayout 具有 Grid 的 DataTemplate,包含一個 Image 和兩個 TextBlock
ViewCell ViewCellRenderer UITableViewCell 檢視 具有 ContentPresenter 的 DataTemplate