Resumo

Concluído

A aplicação meteorológica que mantém utiliza um serviço meteorológico que anunciou recentemente o seu encerramento. Você precisava começar a investigar outros serviços meteorológicos. Sabendo que alterar serviços significa que seus dados podem mudar, você queria trocar o uso do code-behind para atualizar a interface do usuário para a vinculação de dados. Dessa forma, quando você decide qual serviço meteorológico vai usar, não precisa se preocupar com o impacto da interface do usuário.

A associação de dados feita nos exercícios reduziu o código necessário para atualizar a interface do usuário quando os dados são alterados. Em vez de usar o manipulador de eventos do botão para interagir com controles na interface do usuário para apresentar os dados, você passou para a associação de dados. O objeto de dados do serviço meteorológico foi definido como o contexto de ligação para a página, e os controles na página foram vinculados às propriedades desse objeto de dados. A interface do usuário foi sincronizada automaticamente com os dados, independentemente de como o serviço meteorológico foi atualizado. Você também foi capaz de reduzir o code-behind para o switch Fahrenheit para Celsius usando a vinculação de dados com um conversor.

Imagine que o code-behind é afetado sem vinculação de dados. Se você renomeou um controle, alterou um controle para um tipo diferente ou até mesmo excluiu um controle, seu code-behind não será mais compilado. Se o serviço meteorológico parasse de fornecer um campo específico de dados, como umidade, seu código falharia ao tentar apresentá-lo na interface do usuário. Os usuários teriam o aplicativo de repente parar de funcionar e eles não saberiam o que estava acontecendo.

A associação de dados sincroniza automaticamente os dados com a interface do usuário. Assim que os dados meteorológicos mudam, qualquer coisa ligada a eles também muda. Quando um tipo de propriedade da interface do usuário e o tipo de objeto de dados não coincidem, um conversor transforma os dados acoplados para que sejam apresentados corretamente pela interface do usuário. Isso reduz o code-behind necessário para manter a interface do usuário. De onde vêm os dados e como os dados foram acionados não é motivo de preocupação para a maioria da sua interface do usuário. Se a umidade não fosse mais fornecida no objeto de dados, a interface do usuário ligada a dados não mostraria nada para o rótulo de umidade em vez de falhar. Essa é uma experiência muito melhor para seus usuários em vez de um aplicativo com falhas.

Mais informações