Introdução
A associação de dados permite que você declare relações entre seus dados e os controles de interface do usuário. Eles permanecem em sincronia automaticamente quando um dos elementos é alterado. As associações de dados podem acelerar a leitura do código, facilitar sua manutenção e torná-lo mais testável.
A associação de dados oferece uma maneira de acoplar sua interface do usuário diretamente aos dados, em vez de associar sua interface do usuário ao código no code-behind da interface do usuário. Quando a interface do usuário está associada aos dados, ela se atualiza automaticamente quando os dados são alterados, mantendo-se em sincronia com eles. Por outro lado, se o usuário interagir com a interface do usuário, os dados serão mantidos em sincronia com a interface do usuário.
Cenário de exemplo
Imagine que você está trabalhando em um aplicativo que apresenta aos usuários informações meteorológicas para uma região ou endereço selecionado. Conforme o usuário insere um local, o aplicativo carrega os dados de previsão do tempo de um serviço meteorológico externo e atualiza a interface do usuário. A interface do usuário e os dados do serviço meteorológico estão intimamente acoplados por meio do XAML da interface do usuário e do arquivo code-behind do XAML. O serviço meteorológico já está abstraído para sua própria classe, mas sua interface do usuário depende muito do code-behind para apresentar esses dados à interface do usuário.
Algum tempo após o lançamento do aplicativo, o serviço meteorológico que você utiliza anuncia que irá encerrar as operações. Antecipando isso, você começa a procurar um serviço de substituição. Dos serviços que você avaliou, você percebe que todos eles recebem e fornecem dados de maneiras diferentes. Como sua interface do usuário usa eventos de code-behind para interação com o serviço, sua experiência na interface do usuário pode ser afetada por essa alteração.
Seria útil alterar a forma como a interface do usuário sincroniza as atualizações meteorológicas, passando dos eventos de code-behind para a associação de dados. Dessa forma, se uma alteração de serviço acontecer novamente, você terá minimizado o impacto no seu código.
O que você fará
Este módulo demonstra as diferenças entre uma interface do usuário baseada em código e uma interface do usuário associada a dados, e mostra como usar a associação de dados para atualizar a interface do usuário em vez do code-behind. Usando um aplicativo de previsão do tempo de exemplo, você converterá as atualizações da interface do usuário de code-behind para associação de dados.
O que você aprenderá
Ao final deste módulo, você será capaz de usar a associação de dados para apresentar dados na interface do usuário e transformar dados quando os tipos de interface do usuário e os tipos de dados não corresponderem.