Базовые классы отрисовщика и собственные элементы управления

Каждый элемент управления 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

Примечание.

Сведения о создании пользовательских отрисовщиков для приложений оболочки см. в статье о пользовательских отрисовщиках в оболочке Xamarin.Forms.

Страницы

В следующей таблице перечислены отрисовщик и собственные классы элементов управления, реализующие каждый 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 (версия 4) DrawerLayout (версия 4) 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 (Pivot)
TemplatedPage PageRenderer UIViewController ViewGroup FrameworkElement
CarouselPage CarouselPageRenderer UIScrollView ViewPager ViewPager FrameworkElement (FlipView)

Макеты

В следующей таблице перечислены отрисовщик и собственные классы элементов управления, реализующие каждый Xamarin.Formsтип макета :

Макет Обработчик 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 Кнопка AppCompatButton Кнопка
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 Кнопка
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

Cells

В следующей таблице перечислены классы отрисовщика и машинного элемента управления, реализующие каждый Xamarin.Formsтип ячейки :

Cells Обработчик iOS Android UWP
EntryCell EntryCellRenderer UITableViewCell с UITextField LinearLayout с TextView и EditText DataTemplate с TextBox
SwitchCell SwitchCellRenderer UITableViewCell с UISwitch Switch DataTemplate с объектом Grid, содержащим TextBlock и ToggleSwitch
TextCell TextCellRenderer UITableViewCell LinearLayout с двумя элементами TextView DataTemplate с элементом StackPanel, содержащим два элемента TextBlock
ImageCell ImageCellRenderer UITableViewCell с UIImage LinearLayout с двумя элементами TextView и элементом ImageView DataTemplate с объектом Grid, содержащим элемент Image и два элемента TextBlock
ViewCell ViewCellRenderer UITableViewCell Представления DataTemplate с ContentPresenter