Базовые классы отрисовщика и собственные элементы управления
Каждый элемент управления 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 |