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.