O que é um ViewModelLocator e quais são seus prós / contras em comparação com o DataTemplates?

lguém pode me dar um resumo rápido do que é um ViewModelLocator, como ele funciona e quais são os prós / contras de usá-lo em comparação com o DataTemplate

Tentei encontrar informações no Google, mas parece haver muitas implementações diferentes e nenhuma lista clara sobre o que é e os prós / contras de usá-l

questionAnswers(3)

yourAnswerToTheQuestion