Xamarin.Forms Vinculação de dados

A associação de dados é a técnica de vinculação de propriedades de dois objetos para que as alterações em uma propriedade sejam automaticamente refletidas na outra propriedade. A associação de dados é parte integrante da arquitetura do aplicativo MVVM (Model-View-ViewModel).

O problema de associação de dados

Um Xamarin.Forms aplicativo consiste em uma ou mais páginas, cada uma das quais geralmente contém vários objetos de interface do usuário chamados exibições. Uma das principais tarefas do programa é manter essas exibições sincronizadas e controlar os diversos valores ou seleções que elas representam. Muitas vezes as exibições representam valores de uma fonte de dados subjacente, e o usuário manipula essas exibições para alterar esses dados. Quando a exibição é alterada, os dados subjacentes devem refletir essa alteração e, da mesma forma, quando os dados subjacentes são alterados, essa alteração deve ser refletida na exibição.

Para que esse trabalho seja realizado com êxito, o programa deve ser notificado das alterações nessas exibições ou nos dados subjacentes. A solução comum é definir eventos que sinalizam quando uma alteração ocorre. É possível então instalar um manipulador de eventos que é notificado sobre essas alterações. Ele responde transferindo dados de um objeto para outro. No entanto, quando há muitas exibições, também é preciso que haja vários manipuladores de eventos, e há muito código envolvido.

A solução de associação de dados

A associação de dados automatiza esse trabalho e torna os manipuladores de eventos desnecessários. Associações de dados podem ser implementadas no código ou em XAML, mas são muito mais comuns em XAML, em que elas ajudam a reduzir o tamanho do arquivo code-behind. Substituindo o código procedural em manipuladores de eventos por marcação ou código declarativo, o aplicativo é simplificado e esclarecido.

Um dos dois objetos envolvidos em uma associação de dados quase sempre é um elemento derivado de View e que faz parte da interface visual de uma página. O outro objeto é uma das seguintes opções:

  • Outro derivado de View, geralmente na mesma página.
  • Um objeto em um arquivo de código.

As associações de dados entre dois View derivados geralmente são mostradas para fins de clareza e simplicidade. No entanto, os mesmos princípios podem ser aplicados às associações de dados entre um View e outros objetos. Quando um aplicativo é criado usando a arquitetura MVVM (Model-View-ViewModel), a classe com dados subjacentes geralmente é chamada de viewmodel.

Associações de dados são exploradas na seguinte série de artigos:

Associações básicas

Aprenda a diferença entre a origem e o destino da associação de dados e veja associações de dados simples em código e em XAML.

Modo de associação

Descubra como o modo de associação pode controlar o fluxo de dados entre os dois objetos.

Formação de cadeia de caracteres

Use uma associação de dados para formatar e exibir objetos como cadeias de caracteres.

Caminho de associação

Aprofunde-se na propriedade Path da associação de dados para acessar subpropriedades e os membros da coleção.

Conversores de associação de valor

Use conversores de valor de associação para alterar os valores dentro da associação de dados.

Associações relativas

Use associações relativas para definir a origem da associação em relação à posição do destino da associação.

Fallbacks de associação

Torne as associações de dados mais robustas definindo valores de fallback que deverão ser usados se o processo de associação falhar.

Ligações múltiplas

Anexe uma coleção de objetos a uma única propriedade de destino de Binding associação.

A interface de comando

Implemente a propriedade Command com associações de dados.

Associações compiladas

Use associações compiladas para melhorar o desempenho de associação de dados.