TabbedPage Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
MultiPage<T> that displays an array of tabs across the top of the screen, each of which loads content onto the screen.
public ref class TabbedPage : Microsoft::Maui::Controls::MultiPage<Microsoft::Maui::Controls::Page ^>, Microsoft::Maui::Controls::IElementConfiguration<Microsoft::Maui::Controls::TabbedPage ^>, Microsoft::Maui::ITabbedView
[Microsoft.Maui.Controls.ContentProperty("Children")]
public class TabbedPage : Microsoft.Maui.Controls.MultiPage<Microsoft.Maui.Controls.Page>, Microsoft.Maui.Controls.IElementConfiguration<Microsoft.Maui.Controls.TabbedPage>, Microsoft.Maui.ITabbedView
[<Microsoft.Maui.Controls.ContentProperty("Children")>]
type TabbedPage = class
inherit MultiPage<Page>
interface ITabbedView
interface IView
interface IElement
interface ITransform
interface IElementConfiguration<TabbedPage>
Public Class TabbedPage
Inherits MultiPage(Of Page)
Implements IElementConfiguration(Of TabbedPage), ITabbedView
- Inheritance
- Attributes
- Implements
Remarks
The user interface of a tabbed page consists of a list of tabs and a larger detail area. On iOS, the list of tabs appears at the bottom of the screen, and the detail area is above. On Android and Windows phones, the tabs appear across the top of the screen. The user can scroll the collection of tabs that are across the top of the screen if that collection is too large to fit on one screen.
App developers can create tabbed pages in either of two ways. First, application developers can assign a list of objects of a single class, or its subclasses, to the ItemsSource property and assign a DataTemplate to the ItemTemplate property to return pages for objects of the least derived type. Second, app developers can add a succession of Page objects to the Children property. Both methods are shown in the code examples below.
The following example code, adapted for brevity from the FormsGallery sample that can be found on the Sample Applications page, shows how to display data of a specific type by assigning a DataTemplate to the ItemTemplate property. Note how NamedColorPage
gets its color by binding its ColorProperty field.
using System;
using Microsoft.Maui.Controls;
namespace MinimalTabbed
{
class TabbedPageDemoPage : TabbedPage
{
public TabbedPageDemoPage ()
{
this.Title = "TabbedPage";
this.ItemsSource = new NamedColor[] {
new NamedColor ("Red", Color.Red),
new NamedColor ("Yellow", Color.Yellow),
new NamedColor ("Green", Color.Green),
new NamedColor ("Aqua", Color.Aqua),
new NamedColor ("Blue", Color.Blue),
new NamedColor ("Purple", Color.Purple)
};
this.ItemTemplate = new DataTemplate (() => {
return new NamedColorPage ();
});
}
}
// Data type:
class NamedColor
{
public NamedColor (string name, Color color)
{
this.Name = name;
this.Color = color;
}
public string Name { private set; get; }
public Color Color { private set; get; }
public override string ToString ()
{
return Name;
}
}
// Format page
class NamedColorPage : ContentPage
{
public NamedColorPage ()
{
// This binding is necessary to label the tabs in
// the TabbedPage.
this.SetBinding (ContentPage.TitleProperty, "Name");
// BoxView to show the color.
BoxView boxView = new BoxView {
WidthRequest = 100,
HeightRequest = 100,
HorizontalOptions = LayoutOptions.Center
};
boxView.SetBinding (BoxView.ColorProperty, "Color");
// Build the page
this.Content = boxView;
}
}
}
The example below creates a tabbed view with two ContentPage instances.
class TabbedPageDemoPage2 : TabbedPage
{
public TabbedPageDemoPage2 ()
{
this.Title = "TabbedPage";
this.Children.Add (new ContentPage
{
Title = "Blue",
Content = new BoxView
{
Color = Color.Blue,
HeightRequest = 100f,
VerticalOptions = LayoutOptions.Center
},
}
);
this.Children.Add (new ContentPage {
Title = "Blue and Red",
Content = new StackLayout {
Children = {
new BoxView { Color = Color.Blue },
new BoxView { Color = Color.Red}
}
}
});
}
}
Constructors
TabbedPage() |
Creates a new TabbedPage element with default values. |
Fields
ActionSheetSignalName |
This method is for internal use. (Inherited from Page) |
AlertSignalName |
This method is for internal use. (Inherited from Page) |
BarBackgroundColorProperty |
Backing store for the BarBackgroundColor property. |
BarBackgroundProperty | |
BarTextColorProperty |
Backing store for the BarTextColor property. |
BusySetSignalName |
This method is for internal use. (Inherited from Page) |
ControlsTabbedPageMapper | |
PromptSignalName | (Inherited from Page) |
SelectedTabColorProperty |
The backing store for the SelectedTabColor field. |
UnselectedTabColorProperty |
The backing store for the UnselectedTabColor field. |
Properties
AnchorX |
Gets or sets the X component of the center point for any transform, relative to the bounds of the element. This is a bindable property. (Inherited from VisualElement) |
AnchorY |
Gets or sets the Y component of the center point for any transform, relative to the bounds of the element. This is a bindable property. (Inherited from VisualElement) |
AutomationId |
Gets or sets a value that allows the automation framework to find and interact with this element. (Inherited from Element) |
Background | (Inherited from VisualElement) |
BackgroundColor |
Gets or sets the color which will fill the background of a VisualElement. This is a bindable property. (Inherited from VisualElement) |
BackgroundImageSource | (Inherited from Page) |
BarBackground | |
BarBackgroundColor |
Gets or sets the background color of the bar. |
BarTextColor |
Gets or sets the color of text on the bar. |
Batched |
For internal use by the Microsoft.Maui.Controls platform. (Inherited from VisualElement) |
Behaviors |
Gets the list of Behaviors associated to this element. This is a bindable property. (Inherited from VisualElement) |
BindingContext |
Gets or sets object that contains the properties that will be targeted by the bound properties that belong to this BindableObject. (Inherited from BindableObject) |
Bounds |
Gets the bounds of the element. (Inherited from VisualElement) |
Children | (Inherited from MultiPage<T>) |
class | (Inherited from NavigableElement) |
ClassId |
Gets or sets a value used to identify a collection of semantically similar elements. (Inherited from Element) |
Clip | (Inherited from VisualElement) |
ContainerArea |
For internal use by the Microsoft.Maui.Controls platform. (Inherited from Page) |
CurrentPage | (Inherited from MultiPage<T>) |
DesiredSize | (Inherited from VisualElement) |
DisableLayout |
For internal use by the Microsoft.Maui.Controls platform. (Inherited from VisualElement) |
Dispatcher | (Inherited from BindableObject) |
EffectControlProvider |
For internal use by the Microsoft.Maui.Controls platform. (Inherited from Element) |
Effects |
A list of the effects that are applied to this item. (Inherited from Element) |
FlowDirection |
Gets or sets the layout flow direction. (Inherited from VisualElement) |
Frame | (Inherited from VisualElement) |
Handler | (Inherited from VisualElement) |
Height |
Gets the current rendered height of this element. This is a read-only bindable property. (Inherited from VisualElement) |
HeightRequest |
Gets or sets the desired height override of this element. (Inherited from VisualElement) |
IconImageSource | (Inherited from Page) |
Id |
Gets a value that can be used to uniquely identify an element through the run of an application. (Inherited from Element) |
IgnoresContainerArea |
For internal use by the Microsoft.Maui.Controls platform. (Inherited from Page) |
InputTransparent |
Gets or sets a value indicating whether this element should be involved in the user interaction cycle. This is a bindable property. (Inherited from VisualElement) |
InternalChildren |
For internal use by the Microsoft.Maui.Controls platform. (Inherited from Page) |
IsBusy |
Marks the Page as busy. This will cause the platform specific global activity indicator to show a busy state. (Inherited from Page) |
IsEnabled |
Gets or sets a value indicating whether this element is enabled in the user interface. This is a bindable property. (Inherited from VisualElement) |
IsFocused |
Gets a value indicating whether this element is focused currently. This is a bindable property. (Inherited from VisualElement) |
IsInPlatformLayout | (Inherited from VisualElement) |
IsLoaded |
Indicates if a VisualElement is connected to the main object tree. (Inherited from VisualElement) |
IsPlatformEnabled |
For internal use by the Microsoft.Maui.Controls platform. (Inherited from VisualElement) |
IsPlatformStateConsistent | (Inherited from VisualElement) |
IsVisible |
Gets or sets a value that determines whether this elements should be part of the visual tree or not. This is a bindable property. (Inherited from VisualElement) |
ItemsSource | (Inherited from MultiPage<T>) |
ItemTemplate | (Inherited from MultiPage<T>) |
LogicalChildren |
Obsolete.
For internal use by the Microsoft.Maui.Controls platform. (Inherited from Element) |
MaximumHeightRequest | (Inherited from VisualElement) |
MaximumWidthRequest | (Inherited from VisualElement) |
MenuBarItems | (Inherited from Page) |
MinimumHeightRequest |
Gets or sets a value which overrides the minimum height the element will request during layout. (Inherited from VisualElement) |
MinimumWidthRequest |
Gets or sets a value which overrides the minimum width the element will request during layout. (Inherited from VisualElement) |
Navigation | (Inherited from NavigableElement) |
NavigationProxy | (Inherited from NavigableElement) |
Opacity |
Gets or sets the opacity value applied to the element when it is rendered. This is a bindable property. (Inherited from VisualElement) |
Padding |
The space between the content of the Page and it's border. (Inherited from Page) |
Parent |
Gets or sets the parent element of the element. (Inherited from Element) |
RealParent |
For internal use by the Microsoft.Maui.Controls platform. (Inherited from Element) |
Resources |
Gets or sets the local resource dictionary. (Inherited from VisualElement) |
Rotation |
Gets or sets the rotation (in degrees) about the Z-axis (affine rotation) when the element is rendered. (Inherited from VisualElement) |
RotationX |
Gets or sets the rotation (in degrees) about the X-axis (perspective rotation) when the element is rendered. (Inherited from VisualElement) |
RotationY |
Gets or sets the rotation (in degrees) about the Y-axis (perspective rotation) when the element is rendered. (Inherited from VisualElement) |
Scale |
Gets or sets the scale factor applied to the element. (Inherited from VisualElement) |
ScaleX |
Gets or sets a scale value to apply to the X direction. (Inherited from VisualElement) |
ScaleY |
Gets or sets a scale value to apply to the Y direction. (Inherited from VisualElement) |
SelectedItem | (Inherited from MultiPage<T>) |
SelectedTabColor | |
Shadow | (Inherited from VisualElement) |
Style | (Inherited from NavigableElement) |
StyleClass | (Inherited from NavigableElement) |
StyleId |
Gets or sets a user defined value to uniquely identify the element. (Inherited from Element) |
Title |
The Page's title. (Inherited from Page) |
ToolbarItems |
A set of ToolbarItems, implemented in a platform-specific manner. (Inherited from Page) |
TranslationX |
Gets or sets the X translation delta of the element. (Inherited from VisualElement) |
TranslationY |
Gets or sets the Y translation delta of the element. (Inherited from VisualElement) |
Triggers |
Gets the list of Trigger associated to this element. This is a bindable property. (Inherited from VisualElement) |
UnselectedTabColor | |
Visual | (Inherited from VisualElement) |
Width |
Gets the current rendered width of this element. This is a read-only bindable property. (Inherited from VisualElement) |
WidthRequest |
Gets or sets the desired width override of this element. (Inherited from VisualElement) |
Window | (Inherited from VisualElement) |
X |
Gets the current X position of this element. This is a read-only bindable property. (Inherited from VisualElement) |
Y |
Gets the current Y position of this element. This is a read-only bindable property. (Inherited from VisualElement) |
ZIndex | (Inherited from VisualElement) |
Methods
ApplyBindings() | (Inherited from BindableObject) |
Arrange(Rect) | (Inherited from VisualElement) |
ArrangeOverride(Rect) | (Inherited from VisualElement) |
BatchBegin() |
Signals the start of a batch of changes to the elements properties. (Inherited from VisualElement) |
BatchCommit() |
Signals the end of a batch of commands to the element and that those commands should now be committed. (Inherited from VisualElement) |
ChangeVisualState() | (Inherited from VisualElement) |
ClearValue(BindableProperty) |
Clears any value set by SetValue for |
ClearValue(BindablePropertyKey) |
Clears any value set by SetValue for the property that is identified by |
CoerceValue(BindableProperty) | (Inherited from BindableObject) |
CoerceValue(BindablePropertyKey) | (Inherited from BindableObject) |
CreateDefault(Object) | |
DisplayActionSheet(String, String, String, FlowDirection, String[]) | (Inherited from Page) |
DisplayActionSheet(String, String, String, String[]) |
Displays a native platform action sheet, allowing the application user to choose from several buttons. (Inherited from Page) |
DisplayAlert(String, String, String) |
Presents an alert dialog to the application user with a single cancel button. (Inherited from Page) |
DisplayAlert(String, String, String, FlowDirection) |
Presents an alert dialog to the application user with a single cancel button. (Inherited from Page) |
DisplayAlert(String, String, String, String) |
Presents an alert dialog to the application user with an accept and a cancel button. (Inherited from Page) |
DisplayAlert(String, String, String, String, FlowDirection) |
Presents an alert dialog to the application user with an accept and a cancel button. (Inherited from Page) |
DisplayPromptAsync(String, String, String, String, String, Int32, Keyboard, String) | (Inherited from Page) |
EffectIsAttached(String) |
For internal use by the Microsoft.Maui.Controls platform. (Inherited from Element) |
FindByName(String) |
Returns the element that has the specified name. (Inherited from Element) |
Focus() |
Attemps to set focus to this element. (Inherited from VisualElement) |
ForceLayout() |
Forces the Page to perform a layout pass. (Inherited from Page) |
GetPageByIndex(Int32) | (Inherited from MultiPage<T>) |
GetParentWindow() | (Inherited from Page) |
GetValue(BindableProperty) |
Returns the value that is contained in the BindableProperty. (Inherited from BindableObject) |
InvalidateMeasure() | (Inherited from VisualElement) |
InvalidateMeasureNonVirtual(InvalidationTrigger) |
For internal use by the Microsoft.Maui.Controls platform. (Inherited from VisualElement) |
InvalidateMeasureOverride() | (Inherited from VisualElement) |
IsSet(BindableProperty) |
Returns |
Layout(Rect) |
Updates the bounds of the element during the layout cycle. (Inherited from VisualElement) |
LayoutChildren(Double, Double, Double, Double) | |
Measure(Double, Double, MeasureFlags) |
Returns the minimum size that a visual element needs in order to be displayed on the device. (Inherited from VisualElement) |
MeasureOverride(Double, Double) | (Inherited from VisualElement) |
On<T>() |
Returns the platform-specific instance of this |
OnAppearing() | (Inherited from Page) |
OnBackButtonPressed() | (Inherited from MultiPage<T>) |
OnBindingContextChanged() | (Inherited from Page) |
OnChildAdded(Element) | (Inherited from MultiPage<T>) |
OnChildMeasureInvalidated(Object, EventArgs) | (Inherited from Page) |
OnChildRemoved(Element, Int32) | (Inherited from VisualElement) |
OnChildrenReordered() | (Inherited from VisualElement) |
OnCurrentPageChanged() | (Inherited from MultiPage<T>) |
OnDisappearing() | (Inherited from Page) |
OnHandlerChanged() | (Inherited from Element) |
OnHandlerChanging(HandlerChangingEventArgs) | (Inherited from Element) |
OnMeasure(Double, Double) | (Inherited from VisualElement) |
OnNavigatedFrom(NavigatedFromEventArgs) | (Inherited from Page) |
OnNavigatedTo(NavigatedToEventArgs) | (Inherited from Page) |
OnNavigatingFrom(NavigatingFromEventArgs) | (Inherited from Page) |
OnPagesChanged(NotifyCollectionChangedEventArgs) | (Inherited from MultiPage<T>) |
OnParentChanged() | (Inherited from Element) |
OnParentChanging(ParentChangingEventArgs) | (Inherited from Element) |
OnParentSet() | (Inherited from Page) |
OnPropertyChanged(String) | (Inherited from MultiPage<T>) |
OnPropertyChanging(String) | (Inherited from BindableObject) |
OnSizeAllocated(Double, Double) | (Inherited from Page) |
PlatformSizeChanged() | (Inherited from VisualElement) |
RemoveBinding(BindableProperty) |
Removes a previously set binding. (Inherited from BindableObject) |
RemoveDynamicResource(BindableProperty) |
Removes a previously set dynamic resource (Inherited from Element) |
SendAppearing() |
For internal use by the Microsoft.Maui.Controls platform. (Inherited from Page) |
SendBackButtonPressed() |
Calls OnBackButtonPressed(). (Inherited from Page) |
SendDisappearing() |
For internal use by the Microsoft.Maui.Controls platform. (Inherited from Page) |
SetBinding(BindableProperty, BindingBase) |
Assigns a binding to a property. (Inherited from BindableObject) |
SetDynamicResource(BindableProperty, String) |
Sets the BindableProperty property of this element to be updated via the DynamicResource with the provided key. (Inherited from Element) |
SetupContent(T, Int32) | (Inherited from MultiPage<T>) |
SetValue(BindableProperty, Object) |
Sets the value of the specified property. (Inherited from BindableObject) |
SetValue(BindablePropertyKey, Object) |
Sets the value of the propertyKey. (Inherited from BindableObject) |
SetValueCore(BindableProperty, Object, SetValueFlags) |
For internal use by the Microsoft.Maui.Controls platform. (Inherited from BindableObject) |
SetValueFromRenderer(BindableProperty, Object) |
For internal use by the Microsoft.Maui.Controls platform. (Inherited from Element) |
SetValueFromRenderer(BindablePropertyKey, Object) |
For internal use by the Microsoft.Maui.Controls platform. (Inherited from Element) |
SizeAllocated(Double, Double) | (Inherited from VisualElement) |
UnapplyBindings() | (Inherited from BindableObject) |
Unfocus() |
Unsets focus to this element. (Inherited from VisualElement) |
UnhookContent(T) | (Inherited from MultiPage<T>) |
UpdateChildrenLayout() | (Inherited from Page) |
Events
Appearing | (Inherited from Page) |
BatchCommitted | (Inherited from VisualElement) |
BindingContextChanged | (Inherited from BindableObject) |
ChildAdded | (Inherited from Element) |
ChildRemoved | (Inherited from Element) |
ChildrenReordered | (Inherited from VisualElement) |
CurrentPageChanged | (Inherited from MultiPage<T>) |
DescendantAdded | (Inherited from Element) |
DescendantRemoved | (Inherited from Element) |
Disappearing | (Inherited from Page) |
FocusChangeRequested | (Inherited from VisualElement) |
Focused | (Inherited from VisualElement) |
HandlerChanged | (Inherited from Element) |
HandlerChanging | (Inherited from Element) |
LayoutChanged | (Inherited from Page) |
Loaded |
Occurs when a VisualElement has been constructed and added to the object tree. This event may occur before the VisualElement has been measured so should not be relied on for size information. (Inherited from VisualElement) |
MeasureInvalidated | (Inherited from VisualElement) |
NavigatedFrom | (Inherited from Page) |
NavigatedTo | (Inherited from Page) |
NavigatingFrom | (Inherited from Page) |
PagesChanged | (Inherited from MultiPage<T>) |
ParentChanged | (Inherited from Element) |
ParentChanging | (Inherited from Element) |
PropertyChanged | (Inherited from BindableObject) |
PropertyChanging | (Inherited from BindableObject) |
SizeChanged | (Inherited from VisualElement) |
Unfocused | (Inherited from VisualElement) |
Unloaded |
Occurs when this VisualElement is no longer connected to the main object tree. (Inherited from VisualElement) |
Explicit Interface Implementations
Extension Methods
AbortAnimation(IAnimatable, String) |
Stops the animation. |
Animate(IAnimatable, String, Animation, UInt32, UInt32, Easing, Action<Double,Boolean>, Func<Boolean>) |
Sets the specified parameters and starts the animation. |
Animate(IAnimatable, String, Action<Double>, Double, Double, UInt32, UInt32, Easing, Action<Double,Boolean>, Func<Boolean>) |
Sets the specified parameters and starts the animation. |
Animate(IAnimatable, String, Action<Double>, UInt32, UInt32, Easing, Action<Double,Boolean>, Func<Boolean>) |
Sets the specified parameters and starts the animation. |
Animate<T>(IAnimatable, String, Func<Double,T>, Action<T>, UInt32, UInt32, Easing, Action<T,Boolean>, Func<Boolean>, IAnimationManager) |
Sets the specified parameters and starts the animation. |
AnimateKinetic(IAnimatable, String, Func<Double,Double,Boolean>, Double, Double, Action, IAnimationManager) |
Sets the specified parameters and starts the kinetic animation. |
AnimationIsRunning(IAnimatable, String) |
Returns a Boolean value that indicates whether or not the animation that is specified by |
Batch(IAnimatable) | |
GetPropertyIfSet<T>(BindableObject, BindableProperty, T) | |
SetAppTheme<T>(BindableObject, BindableProperty, T, T) | |
SetAppThemeColor(BindableObject, BindableProperty, Color, Color) | |
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String) |
Creates and applies a binding to a property. |
AncestorToRoot(Page) |
For internal use by the Microsoft.Maui.Controls platform. |
FindByName<T>(Element, String) | |
CancelAnimations(VisualElement) |
Aborts all animations (e.g. |
FadeTo(VisualElement, Double, UInt32, Easing) |
Returns a task that performs the fade that is described by the |
LayoutTo(VisualElement, Rect, UInt32, Easing) |
view
to the rectangle that is specified by the bounds parameter. |
RelRotateTo(VisualElement, Double, UInt32, Easing) |
Rotates the VisualElement that is specified by |
RelScaleTo(VisualElement, Double, UInt32, Easing) |
Returns a task that scales the VisualElement that is specified by |
RotateTo(VisualElement, Double, UInt32, Easing) |
Returns a task that rotates the VisualElement that is specified by |
RotateXTo(VisualElement, Double, UInt32, Easing) |
Returns a task that skews the X axis of the the VisualElement that is specified by |
RotateYTo(VisualElement, Double, UInt32, Easing) |
Returns a task that skews the Y axis of the the VisualElement that is specified by |
ScaleTo(VisualElement, Double, UInt32, Easing) |
Returns a task that scales the VisualElement that is specified by |
ScaleXTo(VisualElement, Double, UInt32, Easing) |
Returns a task that scales the X axis of the the VisualElement that is specified by |
ScaleYTo(VisualElement, Double, UInt32, Easing) |
Returns a task that scales the Y axis of the the VisualElement that is specified by |
TranslateTo(VisualElement, Double, Double, UInt32, Easing) |
Animates an elements TranslationX and TranslationY properties from their current values to the new values. This ensures that the input layout is in the same position as the visual layout. |
HasVisualStateGroups(VisualElement) |
Returns |
CheckHandlers(IView) | |
GetEffectiveFlowDirection(IView) | |
ComputeDesiredSize(IView, Double, Double) | |
ComputeFrame(IView, Rect) | |
ShouldArrangeLeftToRight(IView) | |
ToHandler(IElement, IMauiContext) | |
ToPlatform(IElement, IMauiContext) | |
ToHandler(IView, IMauiContext) | |
SetSemanticFocus(IView) | |
CaptureAsync(IView) | |
GetVisualElementWindow(IVisualTreeElement) |
Gets the Window containing the Visual Tree Element, if the element is contained within one. |
GetVisualTreeDescendants(IVisualTreeElement) |
Gets the entire hierarchy of descendants as a list of children for a given Visual Tree Element. |
GetVisualTreeElements(IVisualTreeElement, Point) |
Gets list of a Visual Tree Element's children based off of a given Point. |
GetVisualTreeElements(IVisualTreeElement, Rect) |
Gets list of a Visual Tree Elements children based off of a rectangle. |
GetVisualTreeElements(IVisualTreeElement, Double, Double) |
Gets list of a Visual Tree Elements children based off of a given x, y point. |
GetVisualTreeElements(IVisualTreeElement, Double, Double, Double, Double) |
Gets list of a Visual Tree Elements children based off of a rectangle defined by its coordinates which are specified in platform units, not pixels. |