Xamarin.Forms Namespace

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Classes

AbsoluteLayout

Posiciona os elementos filho em posições absolutas.

Accelerator

Representa uma tecla de atalho para um MenuItem.

AcceleratorTypeConverter

A classe que o analisador XAML usa para converter cadeias de caracteres em objetos Accelerator.

ActivityIndicator

Um controle visual usado para indicar que algo está em andamento.

AdaptiveTrigger

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Animation

Encapsula uma animação, uma coleção de funções que modificam as propriedades em um período perceptível pelo usuário.

AnimationExtensions

Métodos de extensão para objetos IAnimatable.

Application

Classe que representa um aplicativo móvel multiplataforma.

AppLinkEntry

Um link profundo de aplicativos em um índice de pesquisa de link do aplicativo.

AppThemeChangedEventArgs

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

AutomationProperties

Contém informações abreviadas e detalhadas da interface do usuário que são fornecidas aos serviços de acessibilidade.

BackButtonBehavior

Um BindableObject que especifica o comportamento associado ao botão Voltar em um aplicativo de Shell.

BackButtonPressedEventArgs

Somente para uso interno. Contém argumentos para o evento gerado quando um botão de voltar é pressionado.

BaseMenuItem

Classe base para itens de menu.

BaseShellItem

Um NavigableElement que é a classe base para ShellGroupItem e ShellContent.

BaseSwipeEventArgs

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Behavior

Classe base para comportamentos definidos pelo usuário generalizados que podem responder a eventos e condições arbitrários.

Behavior<T>

Classe genérica de base para comportamentos definidos pelo usuário generalizados que podem responder a eventos e condições arbitrárias.

BindableLayout

Classe estática que especifica as propriedades anexadas que permitem que um Layout<T> funcione com uma associação de dados IEnumerable.

BindableObject

Fornece um mecanismo pelo qual desenvolvedores de aplicativo podem propagar as alterações feitas aos dados em um objeto para outro, habilitando validação, coerção de tipo e um sistema de evento. BindableProperty.

BindableObjectExtensions

Contém métodos de extensão de conveniência para BindableObject.

BindableProperty

Uma BindableProperty é um repositório de backup para as propriedades que permitem associações em BindableObject.

BindablePropertyConverter

Um TypeConverter para propriedades associáveis.

BindablePropertyKey

A chave secreta para uma BindableProperty, usada para implementar uma BindableProperty com acesso de gravação restrito.

Binding

Uma associação de dados imutáveis única de 1:1.

BindingBase

Uma classe abstrata que fornece um BindingMode e uma opção de formatação.

BindingCondition

Classe que representa uma comparação de valor com o destino de uma associação arbitrária.

BindingTypeConverter

Conversor de tipo que converte de cadeias de caracteres para objetos Binding.

BoundsConstraint

Uma restrição de layout de associações usada por RelativeLayouts.

BoundsTypeConverter

Um TypeConverter que converte cadeias de caracteres em Rectangles para uso com AbsoluteLayouts.

BoxView

Um View usado para desenhar um retângulo colorido sólido.

Brush

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

BrushTypeConverter

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

BrushTypeConverter.GradientBrushParser

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Button

Um botão View que reage a eventos de toque.

Button.ButtonContentLayout

Controla o posicionamento relativo e o espaçamento entre texto e uma imagem em um Button.

Button.ButtonContentTypeConverter

A classe que o analisador XAML usa para converter cadeias de caracteres em objetos Button.ButtonContentLayout.

CarouselLayoutTypeConverter

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

CarouselPage

Uma página em que os usuários podem passar o dedo de um lado ao outro para exibir páginas de conteúdo, como uma galeria.

CarouselView

Um ItemsView cujas exibições filhas roláveis "encaixam" no lugar.

Cell

Fornece recursos e classe base para todas as células Xamarin.Forms. As células são elementos destinados a serem adicionados a ListView ou TableView.

CheckBox

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

CheckedChangedEventArgs

Os argumentos do evento para eventos CheckBox e CheckedChanged.

ChildGestureRecognizer

Um reconhecedor de gestos a ser usado como um filho de outro.

ClickedEventArgs

Os argumentos de evento para um evento de clique.

ClickGestureRecognizer

Reconhecedor para gestos de clique.

CollectionView

Um SelectableItemsView que apresenta uma coleção de itens.

ColorTypeConverter

Um TypeConverter que converte de cadeias de caracteres em um Color.

ColumnDefinition

Uma IDefinition que define propriedades para uma coluna em uma Grid.

ColumnDefinitionCollection

Um DefinitionCollection<T> para ColumnDefinitions.

ColumnDefinitionCollectionTypeConverter

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Command

Define uma implementação ICommand que encapsula um Action.

Command<T>

Define uma implementação de ICommand encapsulando uma Action<T> genérica.

CompareStateTrigger

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

CompressedLayout

Contém as propriedades anexadas para omitir renderizadores redundantes.

Condition

Classe base para condições.

Configuration<TPlatform,TElement>

Classe de utilitário para recuperar versões específicas da plataforma de elementos.

Constraint

Uma restrição de layout usada por RelativeLayouts.

ConstraintExpression

Define um relacionamento de restrição.

ConstraintTypeConverter

Um TypeConverter que converte de cadeias de caracteres em um Constraint.

ContentPage

Um Page que exibe uma única exibição.

ContentPresenter

Gerenciador de layout para exibições modeladas.

ContentPropertyAttribute

Indica a propriedade do tipo que é a propriedade de conteúdo (padrão).

ContentView

Um elemento que contém um único elemento filho.

ControlTemplate

Modelo que especifica um grupo de estilos e efeitos para controles.

CornerRadiusTypeConverter

Uma subclasse TypeConverter que pode converter uma cadeia de caracteres em um CornerRadius.

CurrentItemChangedEventArgs

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

DataPackage

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

DataPackagePropertySet

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

DataPackagePropertySetView

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

DataPackageView

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

DataTemplate

Um modelo para várias associações, normalmente usadas por ListViews e MultiPage<T>s.

DataTemplateSelector

Seleciona objetos DataTemplate por tipo de dados e contêiner.

DataTrigger

A classe que representa uma condição em uma associação arbitrária, juntamente com uma lista de objetos Setter que serão aplicados quando a condição for atendida.

DateChangedEventArgs

Argumentos de evento para o evento DateSelected.

DatePicker

Um View que permite a seleção de data.

DefinitionCollection<T>

Uma coleção parametrizada por uma IDefinition. A classe base para ColumnDefinitionCollection e RowDefinitionCollection.

DependencyAttribute

Um atributo que indica que o tipo especificado fornece uma implementação concreta de uma interface necessária.

DependencyService

Classe estática que fornece o método de fábrica Get<T>(DependencyFetchTarget) para recuperar implementações específicas da plataforma do tipo T especificado.

DesignMode

Classe estática que os desenvolvedores podem usar para determinar se o aplicativo está em execução em um pré-visualizador.

Device

Uma classe de utilitário para interagir com o Dispositivo/Plataforma atual.

Device.Styles

Classe que expõe estilos específicos do dispositivo como campos estáticos.

DeviceStateTrigger

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

DoubleCollection

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

DoubleCollectionConverter

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

DragEventArgs

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

DragGestureRecognizer

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

DragStartingEventArgs

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

DropCompletedEventArgs

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

DropEventArgs

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

DropGestureRecognizer

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Easing

Funções que modificam os valores não linearmente, geralmente usadas para animações.

EasingTypeConverter

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Editor

Um controle que pode editar várias linhas de texto.

Effect

Uma coleção de estilos e propriedades que podem ser adicionados a um elemento no tempo de execução.

EffectiveFlowDirectionExtensions

Métodos de extensão para descobrir a direção do fluxo e se ela foi definida explicitamente.

EffectiveVisualExtensions

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Element

Fornece a classe base para todos os elementos hierárquicos do Xamarin.Forms. Essa classe contém todos os métodos e propriedades necessários para representar um elemento na hierarquia Xamarin.Forms.

ElementEventArgs

Fornece dados para eventos que pertencem a um único Element.

ElementTemplate

Classe base para as classes DataTemplate e ControlTemplate.

EmbeddedFont

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Entry

Um controle que pode editar uma única linha de texto.

EntryCell

Um Cell com um rótulo e um campo de entrada de texto de linha única.

EventTrigger

A classe que representa um evento de gatilho e uma lista de objetos TriggerAction que serão chamados quando o evento for gerado.

ExportEffectAttribute

Atributo que identifica um Effect com um identificador exclusivo que pode ser usado com Resolve(String) para localizar um efeito.

ExportFontAttribute

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

FileImageSource

Um ImageSource que lê uma imagem de um arquivo.

FileImageSourceConverter

Um TypeConverter que converte em FileImageSource.

FlexAlignContentTypeConverter

Converte uma representação de cadeia de caracteres de um estilo de alinhamento de linha de conteúdo filho em um FlexAlignContent.

FlexAlignItemsTypeConverter

Converte uma representação de cadeia de caracteres de um estilo de alinhamento do conteúdo filho em um FlexAlignItems.

FlexAlignSelfTypeConverter

Converte uma representação de cadeia de caracteres de uma substituição de alinhamento em um FlexAlignSelf.

FlexBasis.FlexBasisTypeConverter

Converte uma representação de cadeia de caracteres de uma base flexível em um FlexBasis.

FlexDirectionTypeConverter

Converte uma representação de cadeia de caracteres de uma direção de layout flexível de linha ou coluna em um FlexDirection.

FlexJustifyTypeConverter

Converte uma representação de cadeia de caracteres de um estilo de justificação do elemento filho em um FlexJustify.

FlexLayout

Um layout tipo Flexbox semelhante que coloca os elementos filho em linhas ou colunas opcionalmente encapsuláveis de elementos filho.

FlexWrapTypeConverter

Converte uma representação de cadeia de caracteres de um estilo de encapsulamento em um FlexWrap.

FlowDirectionConverter

Converte uma representação de cadeia de caracteres de uma direção de fluxo em um FlowDirection.

FlyoutItem

Um ShellItem que tem uma coleção de objetos Tab.

FlyoutPage

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

FocusEventArgs

Os args de evento para eventos Focused e Unfocused de VisualElement.

FontAttributesConverter

Converte uma cadeia de caracteres em um objeto FontAttributes.

FontFile

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

FontImageSource

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

FontSizeConverter

Converte uma cadeia de caracteres em um tamanho da fonte.

FontTypeConverter

Um TypeConverter que converte de cadeias de caracteres em Font.

FormattedString

Representa um texto com atributos aplicados a algumas partes.

Frame

Um elemento contendo um único filho, com algumas opções de enquadramento.

GestureElement

Um elemento que pode responder a gestos.

GestureRecognizer

A classe base para todos os reconhecedores de gestos.

GradientBrush

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

GradientStop

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

GradientStopCollection

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Grid

Um layout que organiza as exibições em linhas e colunas.

GridItemsLayout

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

GridLengthTypeConverter

Um TypeConverter que converte de cadeias de caracteres em GridLengths.

GroupableItemsView

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

HandlerAttribute

Um atributo abstrato cujas subclasses especificam os renderizadores específicos da plataforma para controles abstratos do Xamarin.Forms.

HtmlWebViewSource

Uma WebViewSource associada a uma cadeia de caracteres formatada em HTML.

Image

View que contém uma imagem.

ImageButton

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ImageCell

Um TextCell que tem uma imagem.

ImageSource

Classe abstrata cujos implementadores carregam imagens de arquivos ou da Web.

ImageSourceConverter

Classe que usa uma representação de cadeia de caracteres de um local de arquivo de imagem e retorna um ImageSource do recurso especificado.

IndicatorView

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

InputView

A classe base de uma exibição que pode obter a entrada do teclado.

InvalidNavigationException

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ItemsLayout

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ItemsLayoutTypeConverter

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ItemsView

Um View que serve como uma classe base para as exibições que contêm uma lista de modelos de itens.

ItemsView<TVisual>

Uma classe base para uma exibição que contém uma lista de modelos de itens.

ItemsViewScrolledEventArgs

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ItemTappedEventArgs

Argumentos de evento para o evento ItemTapped.

ItemVisibilityEventArgs

Os Args de evento quando a visibilidade de um item tiver sido alterada em um ListView.

Keyboard

Classe base e teclado padrão para teclados especializados, como aqueles para números de telefone, email e URLs.

KeyboardTypeConverter

Um TypeConverter que converte uma cadeia de caracteres em um Keyboard.

Label

Um View que exibe texto.

Layout

Fornece a classe base para todos os elementos de Layout. Use elementos de Layout para posicionar e dimensionar elementos filho em aplicativos Xamarin.Forms.

Layout<T>

Uma implementação base de um layout com um comportamento indefinido e vários filhos.

LayoutOptionsConverter

Classe que usa uma representação de cadeia de caracteres de um LayoutOptions e retorna um LayoutOptions correspondente.

LinearGradientBrush

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

LinearItemsLayout

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ListProxyChangedEventArgs

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ListStringTypeConverter

Conversor de tipo para converter em listas as listas de cadeias de caracteres formatadas adequadamente.

ListView

Um ItemsView<TVisual> que exibe uma coleção de dados como uma lista vertical.

MarshalingObservableCollection

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

MasterDetailPage

Um Page que gerencia dois painéis de informações: uma página mestra que apresenta os dados em um alto nível e uma página de detalhes que exibe detalhes sobre informações de baixo nível no mestre.

Menu

Representa um menu de aplicativo em plataformas que dão suporte a eles.

MenuItem

Classe que apresenta um item de menu e o associa a um comando.

MenuItemCollection

Um grupo de objetos MenuItem relacionados.

MessagingCenter

Associa um retorno de chamada em assinantes com um nome de mensagem específico.

ModalEventArgs

A classe base para ModalPushedEventArgs, ModalPushingEventArgs, ModalPoppedEventArgs e ModalPoppingEventArgs.

ModalPoppedEventArgs

Argumentos para o evento gerado quando uma janela modal abre em pop-up da pilha de navegação.

ModalPoppingEventArgs

Argumentos para o evento gerado quando uma janela modal está abrindo em pop-up da pilha de navegação.

ModalPushedEventArgs

Argumentos para o evento gerado quando é efetuado push de uma janela modal para a pilha de navegação.

ModalPushingEventArgs

Argumentos para o evento gerado quando está sendo efetuado push de uma janela modal para a pilha de navegação.

MultiBinding

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

MultiPage<T>

Uma classe base modelável e associável para páginas que contêm várias subpáginas.

MultiTrigger

Classe que representa uma lista de condições de associação e de propriedade e uma lista de setters aplicados quando todas as condições na lista são atendidas.

NamedPlatformColor

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

NameScopeExtensions

Métodos de extensão para Element que adicionam um método FindByName fortemente tipado.

NavigableElement

Um Element que dá suporte à navegação.

NavigationEventArgs

EventArgs para eventos de navegação da NavigationPage.

NavigationPage

Um Page que gerencia a navegação e a experiência do usuário de uma pilha de outras páginas.

On

Classe que é usada dentro OnPlatform de marcas em XAML ao especificar valores em plataformas.

OnIdiom<T>

Fornece o valor específico do idioma para T para o idioma de destino atual.

OnPlatform<T>

Fornece a implementação específica da plataforma de T para o OS atual.

OpenGLView

Um View que exibe o conteúdo do OpenGL.

OpenSwipeEventArgs

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

OrientationStateTrigger

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Page

Um VisualElement que ocupa a tela inteira.

PanGestureRecognizer

Um reconhecedor de gestos para fazer panorâmica em conteúdo maior que sua exibição pai.

PanUpdatedEventArgs

Evento gerado quando um gesto de panorâmica é atualizado.

Picker

Um controle View para selecionar um elemento em uma lista.

PinchGestureRecognizer

Reconhecedor de gestos de pinçagem.

PinchGestureUpdatedEventArgs

Argumentos de evento para o evento PinchUpdated.

PlatformEffect<TContainer,TControl>

Classe base para classes de efeito específicas da plataforma.

PointTypeConverter

Um TypeConverter que converte de uma cadeia de caracteres em um Point.

PoppedToRootEventArgs

EventArgs para o evento de navegação PoppedToRoot da NavigationPage.

PositionChangedEventArgs

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ProgressBar

Um controle View que exibe o progresso.

PropertyChangingEventArgs

Argumentos de evento para o delegado PropertyChangingEventHandler.

PropertyCondition

A classe que representa uma comparação de valor em relação a uma propriedade no controle que contém o delimitador MultiTrigger.

QueryPropertyAttribute

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

RadialGradientBrush

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

RadioButton

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

RadioButtonGroup

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

RectangleTypeConverter

Um TypeConverter que converte uma cadeia de caracteres em um Rectangle.

RectTypeConverter

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ReferenceTypeConverter

Para uso interno pela plataforma do Xamarin.Forms.

RefreshView

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

RelativeBindingSource

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

RelativeLayout

Um Layout<T> que usa Constraints para definir o layout de seus filhos.

RenderWithAttribute

Associe a exibição ao renderizador.

ResolutionGroupNameAttribute

Atributo que identifica um nome de grupo, normalmente um nome de empresa ou URL da empresa invertida, que fornece um escopo de nomes em vigor.

ResourceDictionary

Um IDictionary que mapeia cadeias de caracteres de identificador para objetos de recurso arbitrários.

ResourceDictionary.RDSourceTypeConverter

Para uso interno pela plataforma do Xamarin.Forms.

RouteFactory

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Routing

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

RoutingEffect

Efeito de independente de plataforma que encapsula um efeito interno, que é geralmente é específico da plataforma.

RowDefinition

Uma IDefinition que define propriedades para uma linha em uma Grid.

RowDefinitionCollection

Um DefinitionCollection<T> para RowDefinitions.

RowDefinitionCollectionTypeConverter

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ScrolledEventArgs

Argumentos para o evento que é gerado quando uma janela é rolada.

ScrollToRequestedEventArgs

Argumentos para o evento gerado quando uma rolagem é solicitada.

ScrollToRequestEventArgs

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ScrollView

Um elemento com capacidade de rolar se seu Conteúdo exigir.

SearchBar

Um controle View que fornece uma caixa de pesquisa.

SearchHandler

Implementação padrão de ISearchHandlerController.

SelectableItemsView

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

SelectedItemChangedEventArgs

Argumentos de evento para o evento ItemSelected.

SelectedPositionChangedEventArgs

Argumentos de evento para eventos de rolagem posicionais.

SelectionChangedEventArgs

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Setter

Representa uma atribuição de uma propriedade para um valor, normalmente em um estilo ou em resposta a um gatilho.

SettersExtensions

Define métodos de extensão para IList<Setter>

Shell

Uma Page que fornece os recursos fundamentais da interface do usuário exigidos pela maioria dos aplicativos, permitindo que você se concentre na carga de trabalho principal do aplicativo.

ShellAppearance

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ShellContent

Corresponde a um ContentPage contido em um ShellSection.

ShellGroupItem

Um BaseShellItem que tem FlyoutDisplayOptions. A classe base para ShellItem e ShellSection.

ShellItem

Um ou mais itens no submenu. Contido dentro de um Shell.

ShellNavigatedEventArgs

Argumentos para o evento OnNavigated(ShellNavigatedEventArgs).

ShellNavigatingDeferral

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ShellNavigatingEventArgs

Argumentos para o evento OnNavigating(ShellNavigatingEventArgs).

ShellNavigationState

Um URI que representa a página atual ou um destino para a navegação em um aplicativo de Shell.

ShellSection

Conteúdo agrupado em um aplicativo de Shell, navegável por guias inferiores.

SizeTypeConverter

Um TypeConverter que pode converter uma cadeia de caracteres em um objeto Size.

Slider

Um controle View que insere um valor linear.

SolidColorBrush

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Span

Representa uma seção de uma FormattedString.

StackLayout

Um Layout<T> que posiciona elementos filhos em uma única linha que pode ser orientada na vertical ou na horizontal.

StateTrigger

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

StateTriggerBase

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Stepper

Um controle View que insere um valor separado, restrito a um intervalo.

StreamImageSource

ImageSource que carrega uma imagem de um Stream.

StructuredItemsView

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Style

Classe que contém gatilhos, setters e comportamentos que definem total ou parcialmente a aparência e o comportamento de uma classe de elementos visuais.

SwipeChangingEventArgs

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

SwipedEventArgs

Argumentos para eventos de passar o dedo.

SwipeEndedEventArgs

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

SwipeGestureRecognizer

Reconhecedor de gestos de passar o dedo.

SwipeItem

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

SwipeItems

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

SwipeItemView

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

SwipeStartedEventArgs

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

SwipeView

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Switch

Um controle View que fornece um valor alternado.

SwitchCell

Um Cell com um rótulo e uma chave de liga/desliga.

Tab

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

TabBar

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

TabbedPage

MultiPage<T> que exibe uma matriz de guias na parte superior da tela, cada uma carregando conteúdo na tela.

TabIndexExtensions

Métodos de extensão que dão suporte à iteração e recuperação de índices de tabulação.

TableRoot

Um TableSection que contém uma seção de tabela ou a tabela inteira.

TableSection

Uma seção lógica e visível de um TableView.

TableSectionBase

Classe base abstrata definindo uma seção de tabela.

TableSectionBase<T>

Seção de tabela que contém as instâncias do tipo T processadas por Xamarin.Forms.

TableView

Um View que contém linhas de elementos Cell.

TapGestureRecognizer

Fornece reconhecimento de eventos e gestos de toque.

TappedEventArgs

Argumentos para o evento ItemTapped.

TemplateBinding

Associa uma propriedade de modelo ao pai da exibição que tem um ControlTemplate.

TemplatedPage

Uma página que exibe o conteúdo de tela inteira com um modelo de controle e a classe base para ContentPage.

TemplatedView

Uma exibição que exibe conteúdo com um modelo de controle e a classe base para ContentView.

TemplateExtensions

Classe de extensão para DataTemplate, fornecendo um método de atalho com base em cadeia de caracteres para definir uma Associação.

TextAlignmentConverter

Converte uma representação de cadeia de caracteres de um alinhamento de texto em um TextAlignment.

TextCell

Um Cell com texto e Detail primárioText.

TextChangedEventArgs

Argumentos de evento para TextChanged eventos. Fornece valores de texto antigo e novo.

TextDecorationConverter

Uma subclasse TypeConverter que pode converter entre uma cadeia de caracteres e um objeto TextDecorations.

ThicknessTypeConverter

Um TypeConverter que converte de uma cadeia de caracteres em um Thickness.

TimePicker

Um controle View que fornece a seleção de tempo.

ToggledEventArgs

Argumentos de evento para eventos Toggled e OnChanged.

ToolbarItem

Um item em uma barra de ferramentas ou exibido em um Page.

Trigger

Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida.

TriggerAction

Uma classe base para ações definidas pelo usuário executadas quando uma condição de gatilho é atendida.

TriggerAction<T>

Uma classe base genéricas para ações definidas pelo usuário executadas quando uma condição de gatilho é atendida.

TriggerBase

Classe base para classes que contêm uma condição e uma lista de ações a serem realizadas quando a condição for atendida.

TypeConverter

Classe base abstrata cujas subclasses podem converter valores entre tipos diferentes.

TypeConverterAttribute

Atributo que especifica o tipo de TypeConverter usado pelo seu destino.

TypeTypeConverter

Classe que usa uma representação de cadeia de caracteres de um Type e retorna um Type correspondente.

UnsolvableConstraintsException

Exceção indicando que os Constraints especificados não podem ser atendidos simultaneamente.

UriImageSource

Uma ImageSource que carrega uma imagem de um URI, armazenando os resultados em cache.

UriTypeConverter

Um TypeConverter que converte de uma cadeia de caracteres ou Uri em um Uri.

UrlWebViewSource

Uma WebViewSource associada a uma URL.

ValueChangedEventArgs

Argumentos de evento para ValueChanged eventos. Fornece valores novos e antigos.

View

Um elemento visual usado para colocar os layouts e os controles na tela.

ViewCell

Um Cell que contém um View definido pelo desenvolvedor.

ViewExtensions

Métodos de extensão para Views, fornecendo funções animáveis de escala, de rotação e de layout.

VisualAttribute

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

VisualElement

Um Element que ocupa uma área na tela, tem uma aparência visual e pode obter entrada de toque.

VisualElement.FocusRequestArgs

Contém os argumentos de evento para o evento FocusChangeRequested.

VisualElement.VisibilityConverter

Converte uma representação de cadeia de caracteres de visibilidade de elemento visual em um valor booliano que representa a visibilidade do elemento.

VisualMarker

Contém os tipos IVisual implementados pela equipe do Xamarin Forms e os tipos IVisual padrão usados pelo sistema Visual.

VisualMarker.DefaultVisual

Tipo de marcador IVisual usado para indicar que um View deve ser renderizado usando um renderizador padrão.

VisualMarker.MaterialVisual

Tipo de marcador IVisual usado para indicar que um View deve ser renderizado usando um renderizador de material.

VisualState

Contém um estado visual nomeado que se aplica a uma lista de setters para um elemento para correlacionar um estado com uma aparência.

VisualStateGroup

Contém uma lista de estados visuais relacionados que podem ser aplicados a um elemento visual.

VisualStateGroupList

Contém uma lista de grupos de estado visual para um aplicativo.

VisualStateManager

Gerencia grupos de estado visual e controles de transição entre estados.

VisualStateManager.CommonStates

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

VisualTypeConverter

Um TypeConverter que pode converter uma cadeia de caracteres em um objeto IVisual.

WeakEventManager

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

WebNavigatedEventArgs

Classe que contém os argumentos para o evento gerado após a conclusão de navegação na Web.

WebNavigatingEventArgs

Classe que contém os argumentos para o evento gerado após o início de navegação na Web.

WebNavigationEventArgs

Classe que contém os argumentos para o evento gerado quando a navegação na Web começa.

WebView

Um View que apresenta conteúdo HTML.

WebViewSource

Classe abstrata cujas subclasses fornecem os dados para um WebView.

WebViewSourceTypeConverter

Um TypeConverter que converte uma cadeia de caracteres em um UrlWebViewSource.

XmlnsDefinitionAttribute

Atributo especificando o mapeamento entre um namespace de XML e um namespace de CLR.

XmlnsPrefixAttribute

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Estruturas

Color

Classe que representa uma cor e a expõe como valores de RGBA e HSL.

CornerRadius

Contém métodos e propriedades para especificar os raios de canto.

FlexBasis

Struct que representa um tamanho de elemento absoluto ou relativo.

Font

A fonte usada para exibir texto.

GridLength

Usado para definir o tamanho (largura/altura) de ColumnDefinition e RowDefinition de Grade.

LayoutOptions

Um struct cujos membros estáticos definem várias opções de alinhamento e de expansão.

Point

Struct definindo um ponto 2D como um par de duplos.

Rect

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

Rectangle

Struct definindo um retângulo usando duplos.

Region

Representa uma região visual em uma interface do usuário do Xamarin.Forms.

Size

Struct definindo a altura e a largura como um par de duplos.

SizeRequest

Struct que define os Sizes mínimos e máximos.

Thickness

Struct definindo espessura ao redor das bordas de um Rectangle usando duplos.

Vec2

Struct definindo os valores duplos X e Y.

Interfaces

AbsoluteLayout.IAbsoluteList<T>

Lista a interface com sobrecargas para adicionar elementos a um layout absoluto.

Grid.IGridList<T>

Interface de lista com sobrecargas para adicionar elementos a uma grade.

IAnimatable

Define uma interface para os elementos que podem ser animados.

IAppearanceObserver

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

IAppIndexingProvider

Essa interface é para uso interno por renderizadores de plataforma.

IApplicationController

Para uso interno por renderizadores de plataforma.

IAppLinkEntry

Interface que representa um link profundo de aplicativos em um índice de pesquisa de link do aplicativo.

IAppLinks

Interface que define os métodos necessários para registrar e cancelar o registro de links para conteúdo em aplicativos.

IBorderElement

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

IButtonController

Para uso interno por renderizadores de plataforma.

ICellController

Para uso interno por renderizadores de plataforma.

IConfigElement<T>

Essa interface é para uso interno por renderizadores de plataforma.

IConfigPlatform

Interface base para classes de marcador que identificam as plataformas de destino para efeitos específicos da plataforma.

IDecorableTextElement

Interface para classes com suporte ao TextDecorations.

IDefinition

Interface que define o tipo de RowDefinition e ColumnDefinition.

IDispatcher

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

IDispatcherProvider

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

IEditorController

Para uso interno por renderizadores de plataforma.

IEffectControlProvider

Quando implementado em um renderizador, registra um efeito específico da plataforma em um elemento.

IElementConfiguration<TElement>

Interface para retornar a instância específica da plataforma de um tipo Xamarin.Forms.

IElementController

Para uso interno por renderizadores de plataforma.

IEmbeddedFontLoader

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

IEntryCellController

Para uso interno por renderizadores de plataforma.

IEntryController

Para uso interno por renderizadores de plataforma.

IExtendedTypeConverter

Classe base para conversores de tipo.

IFlyoutBehaviorObserver

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

IFlyoutPageController

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

IGestureRecognizer

A interface base que todos os reconhecedores de gestos devem implementar.

IGestureRecognizers

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

IGridController

Para uso interno por renderizadores de plataforma.

IImageController

Para uso interno por renderizadores de plataforma.

IImageElement

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

IItemsLayout

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

IItemsView<T>

Essa interface é para uso interno por renderizadores de plataforma.

IItemViewController

Para uso interno por renderizadores de plataforma.

ILayout

Interface que indica o comportamento de layout e expondo o evento LayoutChanged.

ILayoutController

Para uso interno por renderizadores de plataforma.

IListProxy

Essa interface é para uso interno por renderizadores de plataforma.

IListViewController

Para uso interno por renderizadores de plataforma.

IMasterDetailPageController

Para uso interno por renderizadores de plataforma.

IMenuItemController

Para uso interno por renderizadores de plataforma.

IMessagingCenter

Permite exibir modelos e outros componentes a comunicar aderindo a um contrato de mensagem.

IMultiPageController<T>

Classe base para controladores de várias páginas.

IMultiValueConverter

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

INativeElementView

A interface que contém uma propriedade somente leitura que retorna a exibição nativa específica da plataforma para um elemento Xamarin.Forms.

INavigation

Interface abstraindo navegação específica da plataforma.

INavigationPageController

Para uso interno por renderizadores de plataforma.

IOpenGlViewController

Para uso interno por renderizadores de plataforma.

IPageContainer<T>

Interface que define um contêiner para Pages e expõe uma propriedade CurrentPage.

IPageController

Para uso interno por renderizadores de plataforma.

IPanGestureController

Para uso interno por renderizadores de plataforma.

IPinchGestureController

Para uso interno por renderizadores de plataforma.

IPlatformElementConfiguration<TPlatform,TElement>

Interface de marcador para retornar os elementos de configuração específicos da plataforma.

IQueryAttributable

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

IRegisterable

Interface de sinalização usada internamente que indica os tipos que podem ser registrados com o Registrador interno.

IScrollViewController

Para uso interno por renderizadores de plataforma.

ISearchBarController

Para uso interno por renderizadores de plataforma.

ISearchHandlerController

Define a interface para controlar o comportamento do manipulador de pesquisa.

IShellAppearanceElement

Interface que define as cores da barra de guias em aplicativos de Shell.

IShellContentController

Estende IElementController para definir métodos apropriados para uma página de conteúdo em aplicativos de Shell.

IShellContentInsetObserver

Define uma interface para observar as alterações para as dimensões de inserção.

IShellController

Estende IPageController para aplicativos de Shell.

IShellItemController

Estende IElementController para trabalhar com as partes de um aplicativo de Shell.

IShellSectionController

Estende IElementController com métodos específicos de aplicativos de Shell.

ISliderController

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

IStreamImageSource

Essa interface é para uso interno por renderizadores de plataforma.

ISwipeGestureController

Para uso interno por renderizadores de plataforma.

ISwipeItem

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ISwipeViewController

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ITableModel

Essa interface é para uso interno por renderizadores de plataforma.

ITableViewController

Para uso interno por renderizadores de plataforma.

ITabStopElement

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ITemplatedItemsList<TItem>

Essa interface é para uso interno por renderizadores de plataforma.

ITemplatedItemsListScrollToRequestedEventArgs

Essa interface é para uso interno por renderizadores de plataforma.

ITemplatedItemsView<TItem>

Essa interface é para uso interno por renderizadores de plataforma.

IValueConverter

Interface que define métodos para conversão de valor bidirecional entre tipos.

IViewContainer<T>

O tipo de elemento que pode ser adicionado ao contêiner.

IViewController

Essa interface é para uso interno por renderizadores de plataforma.

IVisual

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

IVisualElementController

Para uso interno por renderizadores de plataforma.

IWebViewController

Para uso interno por renderizadores de plataforma.

IWebViewDelegate

Essa interface é para uso interno por renderizadores de plataforma.

RelativeLayout.IRelativeList<T>

Um IList<T> de Views usados por um RelativeLayout.

Enumerações

AbsoluteLayoutFlags

Sinalizadores usados para modificar como aos limites de layout são interpretados em um AbsoluteLayout.

AccessKeyPlacement

Enumera o posicionamento de chave de acesso em relação ao controle que a chave de acesso descreve.

Aspect

Define como uma imagem é exibida.

BindingMode

A direção da propagação de alterações para associações.

Button.ButtonContentLayout.ImagePosition

Enumera os locais da imagem dentro de um botão.

ButtonsMask

Sinaliza valores que representam os botões do mouse.

ClearButtonVisibility

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ConstraintType

Enumeração que especifica se uma restrição é constante, em relação a um modo de exibição, ou em relação ao seu pai.

DataPackageOperation

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

DependencyFetchTarget

Enumeração especificando se Get<T>(DependencyFetchTarget) deve retornar uma referência a uma instância nova ou global.

EditorAutoSizeOption

Enumera valores que controlam se um editor mudará de tamanho para acomodar a entrada conforme o usuário a digita.

EffectiveFlowDirection

Enumera os sinalizadores que indicam se a direção do layout foi explicitamente definida e se ela é da direita para a esquerda.

FlexAlignContent

Enumera valores que controlam como várias linhas ou colunas de elementos filho são alinhadas.

FlexAlignItems

Enumera valores que controlam o alinhamento dos elementos filho.

FlexAlignSelf

Enumera valores que controlam como e se um elemento filho substitui os atributos de alinhamento aplicados pelo seu pai.

FlexDirection

Enumera valores que especificam as direções de layout flexíveis de linha e coluna com relação às direções para a localidade do dispositivo.

FlexJustify

Enumera valores que descrevem como elementos filho são justificados quando há espaço extra em torno deles.

FlexPosition

Enumera valores que controlam como as coordenadas de layout são interpretadas ao especificar as posições dos elementos filho.

FlexWrap

Enumera valores que controlam se e como encapsular os itens em um FlexLayout.

FlowDirection

Enumera valores que controlam a direção do layout para os modos de exibição.

FlyoutBehavior

Enumeração dos modos para o menu raiz de um aplicativo de Shell.

FlyoutDisplayOptions

Enumera os modos de exibição do submenu em um aplicativo de Shell.

FlyoutHeaderBehavior

Enumeração dos modos seguidos pelo FlyoutHeader.

FlyoutLayoutBehavior

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

FontAttributes

Enumera valores que descrevem os estilos de fonte.

GestureState

Enumeração que especifica os diversos estados de um gesto.

GestureStatus

Enumera os possíveis estados de gesto.

GridUnitType

Enumera valores que controlam como a propriedade Value é interpretada para definições de linha e coluna.

IndicatorShape

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

InitializationFlags

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ItemSizingStrategy

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ItemsLayoutOrientation

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ItemsUpdatingScrollMode

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

KeyboardFlags

Enumera sinalizadores de opção de teclado que controlam o uso de maiúsculas, verificação ortográfica e comportamento de sugestão.

LayoutAlignment

Valores que representam LayoutAlignment.

LineBreakMode

Enumeração que especifica as várias opções de quebra de linha.

ListViewCachingStrategy

Enumera as estratégias de cache para uma ListView.

ListViewSelectionMode

Enumera valores que controlam se os itens em uma exibição de lista podem ou não ser selecionados.

MasterBehavior

Enumera valores que controlam como o conteúdo de detalhes é exibido em uma página mestre/detalhes.

MeasureFlags

Enumera valores que informam se as margens estão incluídas ao definir o layout das janelas.

NamedSize

Representa tamanhos de fonte predefinidos.

OpenSwipeItem

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

OSAppTheme

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

PresentationMode

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

RelativeBindingSourceMode

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ReturnType

Enumera os estilos de botão de retorno.

ScrollBarVisibility

Enumera as condições sob as quais as barras de rolagem estarão visíveis.

ScrollMode

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ScrollOrientation

Enumeração que especifica direções de rolagem verticais ou horizontais.

ScrollToMode

Enumera valores que descrevem como é feita uma solicitação de rolagem.

ScrollToPosition

Enumera valores que descrevem uma solicitação de rolagem.

SearchBoxVisibility

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

SelectionMode

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

SeparatorVisibility

Enumera valores que controlam a visibilidade dos separadores de item de lista.

ShellNavigationSource

Enumera os motivos para um evento de navegação em aplicativos de Shell.

SnapPointsAlignment

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

SnapPointsType

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

StackOrientation

As orientações que um StackLayout pode ter.

Stretch

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

SweepDirection

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

SwipeBehaviorOnInvoked

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

SwipeDirection

Enumera as direções de passada de dedo.

SwipeMode

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

TableIntent

TableIntent fornece dicas para o renderizador sobre como uma tabela será usada.

TabsStyle

Enumera os estilos de guia para páginas com guias.

TargetIdiom

Indica o tipo de dispositivo em que o Xamarin.Forms está trabalhando.

TargetPlatform

Indica o tipo de sistema operacional em que o Xamarin.Forms está operando no momento.

TextAlignment

Enumera valores que controlam o alinhamento do texto.

TextDecorations

Sinalizar a enumeração que define as decorações de texto.

TextTransform

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

TextType

Kit de ferramentas de interface do usuário apoiado nativamente, multiplataforma.

ToolbarItemOrder

Enumeração que especifica se o ToolbarItem aparece na superfície da barra de ferramentas principal ou secundária.

ViewState

Preterido. Não use.

WebNavigationEvent

Contém valores que indicam por que um evento de navegação foi gerado.

WebNavigationResult

Enumera valores que indicam o resultado de uma navegação na Web.

Delegados

BindableProperty.BindingPropertyChangedDelegate

Delegado para BindableProperty.PropertyChanged.

BindableProperty.BindingPropertyChangedDelegate<TPropertyType>

Delegado fortemente tipado para BindableProperty.PropertyChanged.

BindableProperty.BindingPropertyChangingDelegate

Delegado para BindableProperty.PropertyChanging.

BindableProperty.BindingPropertyChangingDelegate<TPropertyType>

Delegado fortemente tipado para BindableProperty.PropertyChanging.

BindableProperty.CoerceValueDelegate

Delegado para BindableProperty.CoerceValue.

BindableProperty.CoerceValueDelegate<TPropertyType>

Delegado fortemente tipado para BindableProperty.CoerceValue.

BindableProperty.CreateDefaultValueDelegate

Delegado fortemente tipado para BindableProperty.DefaultValueCreator.

BindableProperty.CreateDefaultValueDelegate<TDeclarer,TPropertyType>

Delegado para BindableProperty.DefaultValueCreator.

BindableProperty.ValidateValueDelegate

Delegado para BindableProperty.ValidateValue.

BindableProperty.ValidateValueDelegate<TPropertyType>

Delegado fortemente tipado para BindableProperty.ValidateValue.

CollectionSynchronizationCallback

O delegado para retorno de chamada em EnableCollectionSynchronization(IEnumerable, Object, CollectionSynchronizationCallback).

PropertyChangingEventHandler

Delegado para o evento PropertyChanging.

Comentários

O Xamarin.Forms é uma abstração do kit de ferramentas de interface do usuário com suporte nativo e multiplataforma que permite que os desenvolvedores criem interfaces do usuário que podem ser compartilhadas entre Android, iOS e Windows Phone. Como as interfaces do usuário usam os controles nativos das plataformas de destino, elas têm a aparência e, importante, a capacidade de resposta de aplicativos criados nativamente.

Arquitetura da solução Xamarin.Forms

Projeto multiplataforma

A experiência do usuário de um aplicativo Xamarin.Forms geralmente é definida em um projeto compartilhado multiplataforma (uma Biblioteca de Classes Portátil ou um Projeto Compartilhado) e combinada com projetos específicos da plataforma que, no mínimo, inicializam a renderização de plataforma nativa (observe a chamada para Forms.Init() nos exemplos de código da plataforma abaixo) e, em geral, estendem a experiência do usuário e a interface do usuário de maneiras específicas da plataforma (por exemplo, acessando recursos ou sensores específicos da plataforma).

Por exemplo, o desenvolvedor pode criar um Xamarin.Forms Label multiplataforma e exibi-lo com o seguinte código no projeto compartilhado:

public class App : Xamarin.Forms.Application
{
    public App ()
    {
        MainPage = new ContentPage
        {
            Content = new Label
                {
                    Text = "Welcome to Xamarin Forms!",
                    VerticalOptions = LayoutOptions.CenterAndExpand,
                    HorizontalOptions = LayoutOptions.CenterAndExpand,
                },
        };
    }
}

Esse código resulta em um rótulo centralizado nas plataformas de destino:

Embora layouts mais complicados com interfaces de usuário mais úteis sejam mais típicos, este exemplo é útil para ilustrar claramente o código compartilhado e específico da plataforma que o Xamarin.Forms usa para criar e exibir o código nas plataformas de destino. O código na discussão a seguir é criado pelo Visual Studio nos projetos de plataforma de destino quando o desenvolvedor cria um novo projeto do Xamarin.Forms. Em cada caso, um método específico Forms.Init() da plataforma é chamado para intitializar formulários antes que qualquer outro método que dependa do Xamarin.Forms seja chamado.

Código da plataforma iOS

Na plataforma iOS, o Visual Studio registra uma subclasse da classe Xamarin.Forms.Platform.iOS.FormsApplicationDelegate de estrutura como o ponto de entrada do aplicativo e imediatamente faz uma chamada para Xamarin.Forms.Forms.Init.

[Register("AppDelegate")]
public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
{
    public override bool FinishedLaunching(UIApplication app, NSDictionary options)
    {
        global::Xamarin.Forms.Forms.Init();
        LoadApplication(new App());

        return base.FinishedLaunching(app, options);
    }
}

Código da Plataforma Android

O ponto de entrada no Android é uma subclasse da classe Xamarin.Forms.Platform.Android.FormsAppCompatActivityframework e seu OnCreate método deve configurar a barra de guias e as barras de ferramentas e chamar seu base método antes de chamar Forms.Init.

[Activity(Label = "HelloXamarinFormsWorld.Droid", Icon = "@drawable/icon", Theme = "@style/MyTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
    protected override void OnCreate(Bundle bundle)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;

        base.OnCreate(bundle);

        global::Xamarin.Forms.Forms.Init(this, bundle);

        LoadApplication(new App());
    }

    protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
    {
        base.OnActivityResult(requestCode, resultCode, data);
    }
}

Código UWP

O ponto de entrada para um aplicativo Xamarin.Forms na UWP é apenas o construtor para um Windows.UI.Xaml.Application no App.xaml.cs projeto da plataforma UWP. No entanto, o ciclo de vida do aplicativo na UWP é tal que a chamada para Forms.Init deve ocorrer dentro do OnLaunched método e é protegida contra ser executada mais de uma vez. O código necessário está além do escopo desta documentação, mas o desenvolvedor curioso é incentivado a criar uma solução de teste do Xamarin.Forms e estudar o código no App.xaml.cs arquivo para obter mais detalhes

Elementos no Xamarin.Forms

Tipos importantes no namespace do Xamarin.Forms incluem Page, Viewe Layout. Pages normalmente correspondem a objetos de controlador (Atividades no mundo Android, UIViewControllers no mundo do iOS), Views com controles ou widgets e Layouts arrange Views em outros Views. Todos esses tipos são derivados de Element.

Model-View-ViewModel e Xamarin.Forms

Os desenvolvedores de aplicativos usam o padrão MVVM (Model-View-ViewModel) para criar aplicativos Xamarin.Forms que separam de forma limpa as preocupações da apresentação de dados e da interface do usuário das preocupações de armazenamento e manipulação de dados. A Xamarin.Forms estrutura permite isso fornecendo, entre alguns outros tipos relacionados, as BindableObject classes e BindableProperty . Objetos que herdam de BindableObject podem ser associados a membros do tipo BindableProperty em outros objetos.

Um BindableObject mantém o dicionário de BindableProperty nomes e uma associação com seus contextos de associação correspondentes, simplesmente o objeto no qual o BindableProperty é definido e que o desenvolvedor de aplicativos atribuiu à BindingContext propriedade por meio de um Binding. Consulte BindableObject para obter mais informações.

Confira também